execute()
metoden forventer et enkelt array. Fra dokumentationen:
Med array($id,$array)
du ville passere et multidimensionelt array, der ser sådan ud:
Array
(
[0] => 1
[1] => Array
(
[0] => a
[1] => b
[2] => c
)
)
Det er bestemt ikke, hvad den forventer. Den har brug for et enkeltdimensionelt array, der indeholder de værdier, der skal indsættes.
For at løse dette problem skal du ændre array-formatet. Tilføj ID'et til starten af arrayet, sådan:
$array = array(1, "a", "b", "c");
Hvis ID-variablen genereres dynamisk, så kan du manuelt tilføje den til matrixstarten ved hjælp af array_unshift()
funktion:
$id = "1";
$array = array("a", "b", "c");
$array = array_unshift($array, $id);
... og rediger derefter execute()
ring sådan:
$statement1->execute($array);