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

Mysql Real Escape String Fungsi PHP Menambahkan \ ke Entri Bidang Saya

Jika Anda mendapatkan data $content dari formulir (dan bukan "apa adanya" dalam kode PHP) , mungkin Anda mengalami masalah karena kutipan Ajaib (lihat magic_quotes_gpc )

Intinya :

Jika kutipan ajaib diaktifkan (Anda dapat memeriksanya di output phpinfo() , misalnya) , Anda akan mendapatkan "pelarian ganda" semacam itu :

  • Karakter itu akan lolos sekali dengan tanda kutip ajaib,
  • Lalu, mereka akan diloloskan untuk kedua kalinya oleh mysql_real_escape_string


Solusi yang baik, dalam hal ini, adalah tidak berhenti menggunakan mysql_real_escape_string , tetapi untuk menonaktifkan magic_quotes_gpc di konfigurasi Anda...

... Tapi, karena Anda tidak memiliki akses ke sana, Anda sebenarnya harus "mengembalikan" efek tanda kutip ajaib, dengan memanggil stripslashes pada input yang Anda dapatkan sebagai $_GET dan $_POST , sebelum mulai menggunakannya.

Catatan :ini adalah saran yang diberikan pada halaman manual mysql_real_escape_string (mengutip) :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Docker Compose menghubungkan ECONNREFUSED 172.18.0.4:3306

  2. mysql like% query lambat dengan indeks teks lengkap

  3. SQLSTATE[23000]:Pelanggaran batasan integritas dengan batasan yang valid

  4. utf-8 vs latin1

  5. Cara Memeriksa Ukuran Semua Tabel dalam Database di MySQL