Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Menggunakan Operator LIKE dengan Penyata Disediakan PDO dengan Betul?
Melaksanakan Pertanyaan LIKE dalam PDO
Apabila menggunakan operator LIKE dalam pertanyaan PDO, adalah penting untuk memastikan sintaks yang betul untuk mencapai carian yang diingini keputusan. Dalam pertanyaan yang disediakan, peletakan % tanda yang salah dalam rentetan $query menyebabkan isu.
Pembetulan Sintaksis
Pertanyaan yang diubah suai harus mengandungi % tanda dalam tatasusunan $params, bukan dalam rentetan pertanyaan:
$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?"; $params = array("%$var1%", "%$var2%");
Pengubahsuaian ini memastikan bahawa Pengendali LIKE beroperasi pada pembolehubah $var1 dan $var2 sambil melepaskannya dalam pernyataan yang disediakan.
Penjelasan
Dalam PDO, pernyataan yang disediakan menggunakan ruang letak (?) untuk mewakili nilai dinamik. Apabila melaksanakan pertanyaan, tatasusunan $params menyediakan nilai yang sepadan untuk menggantikan ruang letak. Dalam pertanyaan asal, tanda % diletakkan dalam rentetan $query, yang menyebabkan PDO menganggapnya sebagai aksara literal.
Dengan mengalihkan tanda % ke dalam tatasusunan $params, anda menunjukkan bahawa ia adalah sebahagian daripada nilai dinamik yang dicari, bukannya sebahagian daripada sintaks pertanyaan itu sendiri.
Atas ialah kandungan terperinci Bagaimanakah Saya Menggunakan Operator LIKE dengan Penyata Disediakan PDO dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!