Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengikat Nilai LIKE dalam Pertanyaan PDO Dengan Berkesan?
Mengikat Nilai LIKE dalam PDO
Apabila menggunakan pertanyaan LIKE dalam PDO, adalah penting untuk memahami cara mengikat nilai carian dengan betul untuk mengelakkan perkara yang tidak dijangka keputusan.
Mengikat dengan Separa Padankan
Untuk mengikat padanan separa, anda boleh menggunakan sintaks berikut:
SELECT wrd FROM tablename WHERE wrd LIKE :partial
Ikat parameter :separa kepada nilai separa yang anda ingin cari. Contohnya, jika anda mempunyai $partial = "somet", anda akan mengikatnya sebagai:
$stmt->bindParam(':partial', $partial);
Mengikat dengan Wildcard
Untuk mengikat padanan separa dengan kad bebas pada penghujungnya, anda boleh menggunakan salah satu daripada ini kaedah:
PDO-Generated Wildcard:
Gunakan sintaks berikut:
SELECT wrd FROM tablename WHERE wrd LIKE ':partial%'
Ikat parameter :separa kepada nilai separa tanpa wildcard.
SQL-Generated Wildcard:
Gunakan sintaks berikut:
SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')
Ikat parameter :separa kepada nilai separa tanpa kad bebas.
Pertanyaan SUKA Kompleks
Jika nilai separa mengandungi aksara khas seperti %, _ atau , anda perlu melepaskannya untuk mengelakkan hasil yang tidak diingini. Gunakan kod berikut:
$stmt = $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'"); $escaped = str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var); $stmt->bindParam(':term', $escaped);
Dengan mengikut garis panduan ini, anda boleh mengikat nilai LIKE dengan berkesan dalam pertanyaan PDO anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengikat Nilai LIKE dalam Pertanyaan PDO Dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!