Cara Menggunakan LIKE '%{$var}%' Betul dengan Penyata Disediakan
Apabila cuba menggunakan LIKE '%{$var }%' dengan pernyataan yang disediakan, sesetengah pengguna menghadapi ralat: "Bilangan pembolehubah tidak sepadan dengan bilangan parameter dalam pernyataan yang disediakan." Ini kerana pernyataan yang disediakan memerlukan bilangan parameter tertentu dan sintaks '%{$var}%' tidak memberikan kiraan parameter yang jelas.
Contoh Salah
$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';
Penyelesaian yang Diperbaiki
Untuk menyelesaikan isu ini, anda perlu membuat pembolehubah yang mengandungi LIKE ungkapan, dengan kad bebas disertakan. Kemudian, ikat pembolehubah pada pernyataan yang disediakan menggunakan kaedah bind_param().
$likeVar = "%" . $yourParam . "%"; $stmt = $mysqli->prepare("SELECT * FROM REGISTRY where name LIKE ?"); $stmt->bind_param("s", $likeVar); $stmt->execute();
Dengan mengikuti kaedah ini, anda boleh melakukan carian LIKE dengan berkesan menggunakan pernyataan yang disediakan sambil mengekalkan ketidakpekaan huruf besar dan membenarkan padanan separa.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat 'Bilangan Pembolehubah Tidak Padan' Apabila Menggunakan LIKE '%{$var}%' dengan Penyata Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!