MySQL dan JavaScript ialah pangkalan data dan bahasa pengaturcaraan yang biasa digunakan, dan selalunya mereka perlu menukar data antara satu sama lain dalam aplikasi. Untuk aksara khas atau perkataan terpelihara dalam MySQL, fungsi escape perlu digunakan dalam JavaScript untuk memastikan ketepatan data. Artikel ini akan memperkenalkan secara terperinci pelarian aksara khas dalam MySQL dan fungsi pelarian yang sepadan dalam JavaScript.
Meloloskan diri daripada aksara khas dalam MySQL
Aksara khas dalam MySQL termasuk petikan tunggal, petikan berganda, garis miring ke belakang, tab, pemulangan pengangkutan, suapan baris, dsb. Aksara khas ini Ia mempunyai makna istimewa dalam MySQL Jika digunakan secara langsung dalam pernyataan SQL, ia akan menyebabkan ralat sintaks atau suntikan SQL. Oleh itu, apabila menggunakan MySQL untuk operasi data, aksara khas ini perlu dilepaskan terlebih dahulu untuk mengelakkan masalah. MySQL menyediakan fungsi melarikan diri aksara khas: mysql_real_escape_string(), yang boleh melarikan aksara khas menjadi aksara biasa dalam MySQL.
Fungsi mysql_real_escape_string() menerima rentetan untuk dilepaskan sebagai parameter dan mengembalikan rentetan yang dilepaskan. Sebagai contoh, untuk rentetan yang mengandungi petikan tunggal, anda boleh menggunakan kod berikut untuk melarikan diri:
$str = "It's a rainy day"; $str_escaped = mysql_real_escape_string($str);
Dalam kod di atas, nilai $str_escaped ialah "Hari hujan", di mana petikan tunggal dilepaskan menjadi rentetan "'".
Selain mysql_real_escape_string(), MySQL mempunyai satu lagi fungsi escape: addslashes(). Fungsi ini juga boleh melepaskan aksara khas ke dalam aksara biasa, tetapi kaedah melarikan dirinya tidak betul-betul sama seperti mysql_real_escape_string(). Oleh itu, anda perlu memberi perhatian kepada perbezaan apabila menggunakannya.
Fungsi escape dalam JavaScript
Untuk rentetan yang dilepaskan dalam MySQL, ia perlu diproses melalui fungsi escape yang sepadan dalam JavaScript untuk mengelakkan ralat sintaks yang disebabkan oleh aksara khas. JavaScript menyediakan berbilang fungsi escape, termasuk: encodeURI(), encodeURIComponent(), escape(), dsb. Apabila berurusan dengan rentetan MySQL melarikan diri, fungsi encodeURIComponent() harus digunakan.
Fungsi encodeURIComponent() menerima rentetan sebagai parameter dan mengembalikan pengekodan URI rentetan, yang mematuhi spesifikasi URI dan mengekod semua aksara bukan abjad angka, termasuk perkataan terpelihara dan aksara khas. Sebagai contoh, untuk rentetan MySQL yang terlepas 'Hari hujan', anda boleh menggunakan kod berikut untuk memproses:
var str = 'It\'s a rainy day'; var str_encoded = encodeURIComponent(str);
Dalam kod di atas, nilai str_encoded ialah "It%5C%27s%20a% 20rainy% 20day", di mana semua aksara khas dilarikan ke dalam pengekodan URI.
Apabila anda perlu menukar pengekodan URI kepada rentetan mentah, anda boleh menggunakan fungsi decodeURIComponent() untuk menyahkod, contohnya:
var str_decoded = decodeURIComponent(str_encoded);
Dalam kod di atas, nilai str_decoded ialah "Hari hujan" , iaitu tali sebelum melarikan diri.
Ringkasan
Aksara khas dan perkataan terpelihara dalam MySQL perlu dilarikan untuk digunakan dengan betul dalam penyataan SQL Dalam JavaScript, rentetan yang terlepas MySQL perlu diproses untuk mengelakkan kesilapan sintaks. Apabila menggunakannya, anda harus memilih fungsi melarikan diri yang sesuai mengikut situasi tertentu, dan memberi perhatian kepada perbezaan sebelum dan selepas melarikan diri. Dengan mengendalikan pelarian aksara khas dengan betul, ketepatan data dan kestabilan aplikasi boleh dijamin.
Atas ialah kandungan terperinci javascript fungsi melarikan diri mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!