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

Paket tidak sesuai pesanan saat memanggil MySQL stored proc

Setelah menghabiskan berjam-jam mencoba untuk mengisolasi bagian dari kode saya untuk memecahkan masalah ini, saya melihat bahwa kesalahan hilang setelah menyetel tanda ATTR_EMULATE_PREPARES ke true.

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

Ini memberi tahu PDO untuk meniru pernyataan yang disiapkan alih-alih secara asli oleh MySQL. Dari apa yang saya baca, umumnya disarankan untuk mematikan tanda ini (secara default memang benar) jika Anda menggunakan versi MySQL dan PHP yang paling mutakhir. Anda dapat menemukan informasi lebih lanjut tentang itu di Jadi artikel .

Saya percaya ini adalah bug dengan MySQL (saya punya masalah hingga versi 5.6.17). Tidak banyak diskusi tentang masalah khusus ini, jadi semoga ini menghemat waktu pemecahan masalah orang lain. Masalahnya juga dibahas di halaman bug MySQL ini , tetapi solusi yang diposting tidak membantu saya dalam situasi saya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memahami penggunaan memori hasil MySQL dalam PHP (PDO)

  2. Bagaimana cara menghapus item dari tabel secara rekursif?

  3. Masukkan bidang ID yang dihasilkan dari pemicu, tetapi tidak diteruskan

  4. Adakah yang menemukan cara menskalakan replika baca Amazon RDS?

  5. Aktifkan mengeksekusi beberapa pernyataan saat eksekusi melalui sqlalchemy