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

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

Susan Sarandon
Lepaskan: 2024-12-16 16:02:11
asal
547 orang telah melayarinya

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

Melepaskan Aksara Khas dalam Pertanyaan MySQL

Apabila menggunakan aksara khas dalam pertanyaan MySQL, adalah penting untuk melepaskannya untuk mengelakkan ralat sintaks dan memastikan pelaksanaan pertanyaan yang tepat. Ini amat penting apabila aksara khas adalah sebahagian daripada rentetan yang sedang dicari atau dibandingkan dalam pertanyaan.

Contoh Khusus

Sebagai contoh, pertimbangkan pertanyaan berikut:

select * from tablename where fields like "%string "hi"  %";
Salin selepas log masuk

Pertanyaan ini bertujuan untuk mencari baris dalam jadual nama jadual di mana lajur medan mengandungi rentetan "rentetan hi". Walau bagaimanapun, petikan berganda dalam rentetan carian memecahkan sintaks SQL, mengakibatkan ralat berikut:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'hi" "' at line 1
Salin selepas log masuk

Meloloskan Diri daripada Watak Istimewa

Untuk menyelesaikan isu tersebut, kita perlu melarikan diri daripada double petikan watak dalam rentetan carian. MySQL menyokong pelbagai jujukan melarikan diri untuk mewakili aksara khas, seperti yang digariskan dalam dokumentasi MySQL.

Menurut dokumentasi, untuk melepaskan petikan berganda, kita boleh menggunakan jujukan melarikan diri "". Jadi, pertanyaan yang diubah suai menjadi:

select * from tablename where fields like "%string \"hi\" %";
Salin selepas log masuk

Dengan melarikan diri daripada aksara khas, pertanyaan kini boleh dilaksanakan dengan jayanya, kembali baris di mana lajur medan mengandungi rentetan "rentetan hi".

Pertimbangan Tambahan

Perlu diambil perhatian bahawa penggunaan petikan berganda sebagai pembatas rentetan bukanlah amalan SQL standard adalah disyorkan untuk menggunakan petikan tunggal Ini memudahkan proses melarikan diri, kerana hanya petikan tunggal dalam rentetan carian yang perlu dilepaskan petikan:

select * from tablename where fields like '%string "hi" %';
Salin selepas log masuk

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan