execute()
il metodo prevede un singolo array. Dalla documentazione:
Con array($id,$array)
passeresti un array multidimensionale simile a questo:
Array
(
[0] => 1
[1] => Array
(
[0] => a
[1] => b
[2] => c
)
)
Questo non è certamente quello che si aspetta. Ha bisogno di un array unidimensionale contenente i valori da inserire.
Per risolvere questo problema, è necessario modificare il formato dell'array. Aggiungi l'ID all'inizio dell'array, in questo modo:
$array = array(1, "a", "b", "c");
Se la variabile ID viene generata dinamicamente, puoi aggiungerla manualmente all'inizio dell'array usando array_unshift()
funzione:
$id = "1";
$array = array("a", "b", "c");
$array = array_unshift($array, $id);
... e poi modifica execute()
chiama così:
$statement1->execute($array);