Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PDO mengeksekusi kesalahan konversi array ke string

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);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP - Impor file CSV ke database mysql Menggunakan LOAD DATA INFILE

  2. Alternatif Meja Kerja MySQL - Manajemen Konfigurasi ClusterControl

  3. Permintaan MySQL untuk mengurangi beban server

  4. Kueri gabungan tanpa GROUP BY

  5. MySQL Bagaimana cara MEMILIH data dari tabel yang direkam hari ini?