Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Melarikan Diri Aksara Khas dalam Pertanyaan MySQL untuk Mengelakkan Ralat Sintaks?

Bagaimanakah Saya Melarikan Diri Aksara Khas dalam Pertanyaan MySQL untuk Mengelakkan Ralat Sintaks?

DDD
DDDasal
2024-12-18 20:54:11379semak imbas

How Do I Escape Special Characters in MySQL Queries to Avoid Syntax Errors?

Meloloskan Diri Aksara Khas dalam Pertanyaan MySQL

Masalah:

Apabila membina pertanyaan SQL yang melibatkan khas aksara, anda mungkin menghadapi ralat sintaks. Sebagai contoh, pertanyaan seperti:

select * from tablename where fields like "%string "hi"  %";

akan mengakibatkan ralat: "Anda mempunyai ralat dalam sintaks SQL anda..."

Penyelesaian:

Untuk menyelesaikan isu ini, anda mesti melarikan diri daripada aksara khas dalam pertanyaan. MySQL mengiktiraf pelbagai urutan pelarian:

  • : ASCII NUL
  • ': Petikan tunggal
  • ": Petikan berganda
  • b: Backspace
  • n: Baris baharu
  • r: Pengangkutan pulangkan
  • t: Tab
  • Z: ASCII 26
  • \: Backslash
  • %: Peratusan
  • _: Garis bawah

Contoh:

Untuk membetulkan pertanyaan di atas, anda perlu melepaskan petikan berganda:

select * from tablename where fields like "%string \"hi\" %";

Nota: Menggunakan petikan berganda sebagai pembatas rentetan bukanlah SQL standard, sebaliknya, disyorkan untuk menggunakan petikan tunggal memudahkan pertanyaan:

select * from tablename where fields like '%string "hi" %';

Atas ialah kandungan terperinci Bagaimanakah Saya Melarikan Diri Aksara Khas dalam Pertanyaan MySQL untuk Mengelakkan Ralat Sintaks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn