Memadankan Nama Pengguna Bermula dengan Aksara Menggunakan LIKE dan bindParam dalam PDO
Dalam pertanyaan pangkalan data menggunakan bindParam dengan PDO, anda mungkin menghadapi senario di mana anda perlu menggunakan operator LIKE untuk mencari padanan separa data. Secara khusus, anda mungkin ingin mendapatkan nama pengguna yang bermula dengan aksara tertentu, dilambangkan sebagai 'a' dalam kes ini.
Untuk mencapai ini menggunakan LIKE dan bindParam dengan betul, elakkan melampirkan pemegang tempat bindParam dengan petikan tunggal dalam. Sintaks yang betul ialah:
$term = "a%";
Kod menunjukkan ralat dalam cubaan melaksanakan a%' sebagai kriteria kad bebas dan bukannya a%.
Ingat bahawa bindParam memastikan semua nilai rentetan adalah dipetik dengan sewajarnya apabila dihantar ke pernyataan SQL. Oleh itu, melampirkan pemegang tempat dalam petikan adalah tidak perlu dan akan mengakibatkan padanan yang salah.
Pertanyaan yang diperbetulkan hendaklah berbunyi seperti berikut:
$term = "a%"; $sql = "SELECT username FROM `user` WHERE username LIKE :term LIMIT 10"; $stmt = $core->dbh->prepare($sql); $stmt->bindParam(':term', $term, PDO::PARAM_STR); $stmt->execute(); $data = $stmt->fetchAll();
Kod ini akan berjaya mendapatkan semula semua nama pengguna yang bermula dengan aksara 'a' dengan menggunakan operator LIKE dengan betul dalam penggunaan bindParam.
Atas ialah kandungan terperinci Bagaimana Menggunakan LIKE dan bindParam dengan betul dalam PDO untuk Memadankan Nama Pengguna Bermula dengan Watak Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!