@@ -68,7 +68,7 @@ public function bindValue($param, $value, $type = ParameterType::STRING): bool
68
68
69
69
$ sqliteType = $ this ->convertParamType ($ type );
70
70
if ($ sqliteType === SQLITE3_BLOB ) {
71
- $ this ->trackParamResource ($ value );
71
+ $ this ->trackParamResource ($ param , $ value );
72
72
}
73
73
74
74
return $ this ->statement ->bindValue ($ param , $ value , $ sqliteType );
@@ -156,16 +156,17 @@ private function convertParamType(int $type): int
156
156
* Track a binary parameter reference at binding time. These
157
157
* are cached for later analysis by the getResourceOffsets.
158
158
*
159
- * @param mixed $resource
159
+ * @param int|string $param
160
+ * @param mixed $resource
160
161
*/
161
- private function trackParamResource ($ resource ): void
162
+ private function trackParamResource ($ param , $ resource ): void
162
163
{
163
164
if (! is_resource ($ resource )) {
164
165
return ;
165
166
}
166
167
167
- $ this ->paramResources ??= [];
168
- $ this ->paramResources [] = $ resource ;
168
+ $ this ->paramResources ??= [];
169
+ $ this ->paramResources [$ param ] = $ resource ;
169
170
}
170
171
171
172
/**
@@ -217,7 +218,5 @@ private function restoreResourceOffsets(?array $resourceOffsets): void
217
218
foreach ($ resourceOffsets as $ index => $ offset ) {
218
219
fseek ($ this ->paramResources [$ index ], $ offset , SEEK_SET );
219
220
}
220
-
221
- $ this ->paramResources = null ;
222
221
}
223
222
}
0 commit comments