Mengikat Nilai LIKE dengan PDO
Dalam pertanyaan di mana anda ingin melakukan padanan rentetan separa menggunakan operator LIKE, mengikat nilai LIKE menggunakan sambungan PDO boleh mengelirukan. Mari kita terokai cara mengendalikan perkara ini dengan betul.
Padanan Rentetan Separa dengan LIKE
Apabila menggunakan pengendali LIKE, anda menambahkan % pada rentetan separa untuk mencari rekod yang sepadan. Contohnya:
SELECT wrd FROM tablename WHERE wrd LIKE '$partial%'
Di sini, $partial mewakili rentetan yang seharusnya dipadankan oleh lajur wrd.
Mengikat dengan PDO
Untuk mengikat $partial value menggunakan PDO, anda mempunyai beberapa pilihan:
$stmt = $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :partial"); $stmt->bindParam(':partial', $partial);
Di sini, $partial terikat kepada :tempat letak separa tanpa sebarang pengubahsuaian.
$stmt = $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')"); $stmt->bindParam(':partial', $partial);
$escaped = str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $partial); $stmt = $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'"); $stmt->bindParam(':term', $escaped);
Dengan mengikut garis panduan ini, anda boleh mengikat nilai SUKA dengan berkesan menggunakan PDO dan melaksanakan padanan rentetan separa dalam pertanyaan pangkalan data anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengikat Nilai LIKE dengan PDO dengan Selamat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!