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

Kapan menggunakan kueri yang disiapkan PDO. kesalahan mysql_real_escape

Untuk mengatasi kesalahan yang Anda terima, mysql_real_escape_string() membutuhkan koneksi terbuka melalui mysql_connect() . Karena Anda tidak memilikinya, itu mencoba untuk terhubung dan gagal (menggunakan nama pengguna matthew , sedangkan PDO Anda terhubung dengan root ). Selain itu, Anda tidak dapat (atau, tidak boleh ) campur dan cocokkan mysql_real_escape_string() dan PDO - itu perpustakaan yang berbeda.

Mengenai "kapan" menggunakan pernyataan yang disiapkan, aturan umum adalah kapan pun nilai tidak di-hardcode. Contoh Anda dari LIKE '%hotmail%' tidak perlu disiapkan, hardcoded dan tidak akan pernah berubah (kecuali Anda memperbaruinya secara manual, tentu saja).

Jika Anda memiliki kueri yang akan mengambil variabel apa pun, baik itu data dari $_POST atau $_GET , atau variabel yang dibuat 10 baris oleh pengembang sebelum kueri, Anda harus menggunakan pernyataan yang telah disiapkan (atau setidaknya menghindarinya, lihat PDO::quote ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Tidak dapat menggunakan SIGNAL di Pemicu

  2. Bagaimana Anda menggunakan klausa MySql IN?

  3. Bagaimana cara memasukkan ke dalam tabel yang sama di MySQL?

  4. Cara menggunakan 'berbeda' dalam model zend db

  5. SQL APAPUN &SEMUA Operator