execute()
methode verwacht een enkele array. Uit de documentatie:
Met array($id,$array)
je zou een multidimensionale array doorgeven die er als volgt uitziet:
Array
(
[0] => 1
[1] => Array
(
[0] => a
[1] => b
[2] => c
)
)
Dit is zeker niet wat het verwacht. Het heeft een eendimensionale array nodig die de in te voegen waarden bevat.
Om dit probleem op te lossen, moet u de matrixindeling wijzigen. Voeg de ID toe aan het begin van de array, zoals zo:
$array = array(1, "a", "b", "c");
Als de ID-variabele dynamisch wordt gegenereerd, kunt u deze handmatig aan de array toevoegen met array_unshift()
functie:
$id = "1";
$array = array("a", "b", "c");
$array = array_unshift($array, $id);
... en wijzig dan de execute()
bel zo:
$statement1->execute($array);