Apakah kaedah melarikan diri dari aksara mysql?

WBOY
Lepaskan: 2023-05-26 16:55:46
ke hadapan
3442 orang telah melayarinya

Karakter melarikan diri biasa dalam MySQL termasuk tanda petikan tunggal ('), tanda petikan berganda ("), sengkang ke belakang (), dan beberapa aksara khas, seperti tanda peratus (%) dan garis bawah ( _) . Aksara ini mempunyai makna istimewa dalam MySQL Jika tidak dilepaskan, ia boleh menyebabkan hasil pertanyaan yang salah atau isu keselamatan seperti suntikan SQL

Dalam MySQL, aksara escape boleh diterbalikkan menggunakan petikan tunggal dalam penyataan pertanyaan, anda perlu menambah garis miring ke belakang sebelum petikan tunggal untuk melarikan diri

SELECT * FROM my_table WHERE my_column = 'I'm a student';
Salin selepas log masuk

supaya rentetan yang mengandungi petikan tunggal boleh disoal dengan betul, jika anda mahu menggunakan petikan berganda, anda juga perlu melarikan diri mereka:

SELECT * FROM my_table WHERE my_column = "The book is called "The Great Gatsby"";
Salin selepas log masuk

Dalam MySQL, garis miring ke belakang juga boleh digunakan untuk melarikan aksara khas Anda boleh menggunakan pernyataan carian berikut untuk menanya rentetan yang mengandungi tanda peratusan

Ini akan sepadan dengan betul tanda peratus dalam rentetan

MySQL menyediakan beberapa fungsi terbina dalam yang boleh digunakan untuk melepaskan aksara, tidak terhad kepada menggunakan garis miring ke belakang untuk melepaskan aksara Sebagai contoh, anda boleh menggunakan bar menegak berganda (||) operator untuk menggabungkan rentetan dan menggunakan fungsi CONCAT_WS() untuk melepaskan aksara secara automatik, seperti yang ditunjukkan di bawah:

SELECT * FROM my_table WHERE my_column LIKE '%%%';
Salin selepas log masuk

Pernyataan pertanyaan ini akan mengembalikan Rentetan yang mengandungi ruang di mana perkataan telah dilepaskan dengan betul

Untuk mengelakkan isu keselamatan suntikan rentetan, bukan sahaja aksara escape boleh digunakan untuk melarikan diri daripada rentetan, tetapi kaedah pertanyaan berparameter yang menggunakan ruang letak bukannya nilai sebenar boleh menghalang pangkalan data daripada diserang oleh hasad pengguna menyuntik rentetan berniat jahat. Contohnya, anda boleh menggunakan pertanyaan berparameter berikut untuk menanya rentetan yang mengandungi perkataan tertentu:

SELECT CONCAT_WS(' ', 'I', 'am', 'a', 'student') AS sentence;
Salin selepas log masuk
Tanda soal di sini mewakili pemegang tempat yang boleh digantikan secara dinamik dengan nilai sebenar pada masa pertanyaan. Menggunakan pertanyaan berparameter boleh meningkatkan keselamatan aplikasi dengan sangat baik

Atas ialah kandungan terperinci Apakah kaedah melarikan diri dari aksara mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan