execute()
método espera uma única matriz. Da documentação:Com
array($id,$array)
você estaria passando um array multidimensional que se parece com isso:Array
(
[0] => 1
[1] => Array
(
[0] => a
[1] => b
[2] => c
)
)
Isso certamente não é o que ele espera. Ele precisa de um array unidimensional contendo os valores a serem inseridos.
Para corrigir esse problema, você precisa modificar o formato da matriz. Adicione o ID ao início da matriz, assim:
$array = array(1, "a", "b", "c");
Se a variável ID for gerada dinamicamente, você poderá adicioná-la manualmente ao array usando
array_unshift()
função:$id = "1";
$array = array("a", "b", "c");
$array = array_unshift($array, $id);
... e então modifique o
execute()
chame assim:$statement1->execute($array);