execute()
metoden förväntar sig en enda array. Från dokumentationen:
Med array($id,$array)
du skulle passera en flerdimensionell array som ser ut så här:
Array
(
[0] => 1
[1] => Array
(
[0] => a
[1] => b
[2] => c
)
)
Detta är verkligen inte vad den förväntar sig. Den behöver en endimensionell array som innehåller de värden som ska infogas.
För att åtgärda det här problemet måste du ändra arrayformatet. Lägg till ID:t i början av arrayen, så här:
$array = array(1, "a", "b", "c");
Om ID-variabeln genereras dynamiskt kan du lägga till den manuellt i arraystarten med array_unshift()
funktion:
$id = "1";
$array = array("a", "b", "c");
$array = array_unshift($array, $id);
... och ändra sedan execute()
ring så här:
$statement1->execute($array);