Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menggunakan LIKE '%{Var}%' dengan Selamat dengan Penyata yang Disediakan dalam SQL?
Menggunakan Penyata Disediakan dengan LIKE '%{Var}%' Dengan Berkesan
Apabila bekerja dengan input pengguna yang dibersihkan dalam pertanyaan SQL, adalah disyorkan untuk menggunakan kenyataan yang disediakan untuk mengurangkan risiko serangan suntikan SQL. Walau bagaimanapun, menggunakan corak LIKE '%{Var}%' dengan pernyataan yang disediakan boleh menimbulkan cabaran.
Pendekatan Salah:
Sintaks berikut akan menghasilkan ralat:
$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';
$sql = 'SELECT * FROM `users` WHERE username LIKE %{?}% ';
Betul Pendekatan:
Untuk menggunakan LIKE '%{Var}%' dengan pernyataan yang disediakan dengan betul, ikuti langkah berikut:
$likeVar = "%" . $ yourParam . "%";
$ stmt = $ mysqli -> prepare('SELECT * FROM REGISTRY WHERE name LIKE ?');
$stmt -> bind_param('s', $likeVar);
$stmt -> execute();
Penjelasan:
Dengan mengikut langkah ini, anda boleh menggunakan LIKE '%{Var}%' dengan selamat dalam pertanyaan SQL anda sambil mengekalkan amalan terbaik keselamatan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan LIKE '%{Var}%' dengan Selamat dengan Penyata yang Disediakan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!