Menggunakan LIKE dalam bindParam untuk Pertanyaan PDO MySQL (Tetap)
Pengendali LIKE MySQL membenarkan padanan corak dalam pertanyaan. Apabila menggunakan bindParam untuk menghantar nilai bagi padanan corak, adalah penting untuk memformatkan nilai dengan betul untuk memastikan pertanyaan berjalan seperti yang diharapkan.
Pertimbangkan pertanyaan untuk mencari nama pengguna yang bermula dengan huruf "a":
SELECT username FROM `user` WHERE username LIKE :term LIMIT 10
Apabila menggunakan bindParam untuk pemegang tempat :istilah, nilai perlu dihantar sebagai rentetan. Walau bagaimanapun, jika anda menambah petikan tunggal dalam rentetan, ia akan menyebabkan pertanyaan sepadan dengan nilai literal "'a%'" dan bukannya "a%".
Untuk menyelesaikan masalah ini, tinggalkan petikan tunggal dalam. :
$term = "a"; $term = "$term%";
Ini memastikan bahawa nilai bindParam diluluskan sebagai corak rentetan yang betul yang boleh digunakan dalam klausa LIKE dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan LIKE dengan bindParam dalam Pertanyaan PDO MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!