execute()
La méthode attend un seul tableau. À partir de la documentation :
Avec array($id,$array)
vous passeriez un tableau multidimensionnel qui ressemble à ceci :
Array
(
[0] => 1
[1] => Array
(
[0] => a
[1] => b
[2] => c
)
)
Ce n'est certainement pas ce qu'il attend. Il a besoin d'un tableau unidimensionnel contenant les valeurs à insérer.
Pour résoudre ce problème, vous devez modifier le format du tableau. Ajoutez l'ID au début du tableau, comme ceci :
$array = array(1, "a", "b", "c");
Si la variable ID est générée dynamiquement, vous pouvez l'ajouter manuellement au début du tableau en utilisant array_unshift()
fonction :
$id = "1";
$array = array("a", "b", "c");
$array = array_unshift($array, $id);
... puis modifiez le execute()
appelle comme ça :
$statement1->execute($array);