execute()
metode mengharapkan satu array. Dari dokumentasi:
Dengan array($id,$array)
Anda akan melewati array multidimensi yang terlihat seperti ini:
Array
(
[0] => 1
[1] => Array
(
[0] => a
[1] => b
[2] => c
)
)
Ini tentu tidak seperti yang diharapkan. Dibutuhkan array satu dimensi yang berisi nilai-nilai yang akan disisipkan.
Untuk memperbaiki masalah ini, Anda harus mengubah format array. Tambahkan ID ke awal array, seperti:
$array = array(1, "a", "b", "c");
Jika variabel ID dihasilkan secara dinamis, maka Anda dapat menambahkannya secara manual ke array mulai menggunakan array_unshift()
fungsi:
$id = "1";
$array = array("a", "b", "c");
$array = array_unshift($array, $id);
... lalu ubah execute()
panggil seperti ini:
$statement1->execute($array);