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

Perbedaan antara PDO->query() dan PDO->exec()

Terlepas dari perbedaan teoretis apa pun, tidak satu pun dari fungsi-fungsi ini yang harus digunakan - jadi, tidak ada yang perlu dikhawatirkan.

Satu-satunya alasan menggunakan PDO adalah dukungan untuk pernyataan yang disiapkan , tetapi tidak satu pun dari fungsi ini yang menawarkannya. Jadi, mereka tidak boleh digunakan.

Gunakan prepare()/execute() sebagai gantinya, terutama untuk pernyataan UPDATE,INSERT,DELETE.

Harap dicatat bahwa meskipun pernyataan yang disiapkan secara luas diiklankan sebagai tindakan pengamanan, itu hanya untuk menarik perhatian orang. Tapi mereka nyata tujuannya adalah pemformatan kueri yang tepat . Yang memberi Anda keamanan juga - karena kueri yang diformat dengan benar tidak dapat disuntikkan juga - sama seperti efek samping. Tetapi sekali lagi - pemformatan adalah tujuan utama, hanya karena bahkan data yang tidak bersalah pun dapat menyebabkan kesalahan kueri jika tidak diformat dengan benar.

EDIT:Harap dicatat bahwa execute() hanya mengembalikan TRUE atau FALSE untuk menunjukkan keberhasilan operasi. Untuk informasi lain, seperti jumlah catatan yang terpengaruh oleh UPDATE , metode seperti rowCount() disediakan. Lihat dokumen .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemantauan MySQL yang Efektif Dengan Dasbor SCUMM:Bagian Satu

  2. Bagaimana peningkatan otomatis dalam subset tabel MYSQL

  3. Tampilkan semua kunci saat ini dari get_lock

  4. Temukan catatan dari satu tabel yang tidak ada di tabel lain

  5. PDF dibuat dengan FPDF dan cara menyimpan dan mengambil pdf