Apabila bekerja dengan pertanyaan MySQL dan perpustakaan PDO, adalah penting untuk menggunakan operator LIKE dengan berkesan. Pertimbangkan senario di mana anda perlu mencari nama pengguna yang bermula dengan huruf "a."
Untuk memadankan nama pengguna dengan betul bermula dengan "a", kod berikut sudah memadai:
$term = "a"; $term .= "%"; // Adding the wildcard character $sql = "SELECT username FROM `user` WHERE username LIKE :term LIMIT 10"; $dbh = Connect::getInstance(); $stmt = $dbh->prepare($sql); $stmt->bindParam(':term', $term, PDO::PARAM_STR); $stmt->execute(); $data = $stmt->fetchAll();
Kod yang diberikan tidak betul menyertakan $term dalam satu petikan, membawa kepada pertanyaan yang salah. Dengan mengalih keluar petikan tunggal dalam dan menambahkan aksara "%" kad bebas dengan betul, pengendali LIKE akan memadankan nama pengguna bermula dengan "a."
Perlu diperhatikan bahawa PDO akan memetik semua data rentetan secara automatik semasa pelaksanaan bindParam. Ini memastikan bahawa aksara khas dikendalikan dengan sewajarnya, menghalang kelemahan suntikan SQL.
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan LIKE dengan bindParam untuk Carian Nama Pengguna Selamat dalam Pertanyaan PDO MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!