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

Bagaimana saya bisa melewatkan array parameter PDO namun tetap menentukan tipenya?

Jika Anda menonaktifkan setelan default PDO::ATTR_EMULATE_PREPARES , maka itu akan berhasil. Saya baru tahu bahwa pengaturan itu diaktifkan secara default untuk mysql, yang berarti Anda tidak pernah benar-benar menggunakan pernyataan yang disiapkan, php secara internal membuat sql dinamis untuk Anda, mengutip nilai untuk Anda dan mengganti placeholder. Ya, wtf utama.

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $pdo->prepare($sql);
$stmt->execute(array(5)); //works!

Persiapan diemulasi secara default karena alasan kinerja.

Lihat juga PDO MySQL:Gunakan PDO::ATTR_EMULATE_PREPARES atau tidak?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menambahkan dua hasil hitungan (*) bersama-sama pada dua tabel yang berbeda?

  2. Mengakses output prosedur tersimpan MySQL di Zend Framework 2

  3. Apa cara terbaik untuk menerapkan pencarian substring dalam SQL?

  4. PHP dan MySQL kondisi WHERE opsional

  5. Berapa banyak baris yang akan dikunci dengan SELECT ... ORDER BY xxx LIMIT 1 FOR UPDATE?