Melepaskan Kad Liar MySQL: Menjelaskan Salah Tanggapan
MySQL menggunakan aksara tertentu sebagai kad bebas untuk memudahkan padanan corak dalam pertanyaan. Walau bagaimanapun, dalam konteks tertentu, adalah penting untuk memahami kehalusan melarikan diri kad bebas ini untuk memastikan pernyataan SQL yang tepat dan konsisten.
Escaping % dan _ for String Literal
Bertentangan kepada andaian awal, melarikan diri dari kad bebas MySQL % dan _ menggunakan addcslashes adalah tidak perlu apabila menugaskannya kepada literal rentetan biasa. Fungsi mysql_real_escape_string adalah memadai untuk tujuan ini.
Nuansa Melarikan diri dalam Ungkapan LIKE
Apabila menyediakan rentetan untuk pernyataan LIKE, pendekatan yang lebih bernuansa diperlukan. Dalam ungkapan SUKA, kedua-dua % dan _ menjadi aksara khas, bersama-sama dengan watak melarikan diri itu sendiri. Untuk mengelakkan salah tafsir, adalah penting untuk melakukan dua tahap pelarian:
Mengatasi Ketidakkonsistenan Yang Jelas
Sebab mengapa asterisk (", '') kelihatan tidak dilepaskan apabila dikembalikan daripada pangkalan data ialah MySQL secara automatik menyaring keluar s Ini adalah sisihan daripada ANSI SQL, yang menyatakan bahawa aksara selain % dan _ tidak boleh dilepaskan.
Pertimbangan Mudah Alih untuk LIKE Escaping
Atas ialah kandungan terperinci Cara Melarikan Diri Kad Liar MySQL dengan Betul: Bila dan Mengapa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!