Rumah > Artikel > pembangunan bahagian belakang > 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 Padanan Separa
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 kaedah ini:
Kad Liar Dijana PDO:
Gunakan sintaks berikut:
SELECT wrd FROM tablename WHERE wrd LIKE ':partial%'
Ikat parameter :separa kepada nilai separa tanpa kad bebas.
Kad Liar Dijana SQL:
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!