Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggunakan Operator LIKE dengan Parameter dalam PDO?

Bagaimana untuk Menggunakan Operator LIKE dengan Parameter dalam PDO?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-27 09:26:11717semak imbas

How to Use LIKE Operator with Parameters in PDO?

Laksanakan LIKE Query dalam PDO

Dalam PDO, apabila menggunakan operator LIKE, adalah penting untuk memasukkan tanda % dalam parameter, bukan dalam pertanyaan itu sendiri. Ini kerana kenyataan yang disediakan PDO merangkum nilai dalam petikan, yang boleh mengganggu % pemegang tempat.

Sebagai contoh, pertimbangkan pertanyaan berikut:

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";
$params = array($var1, $var2);

Apabila pertanyaan ini disediakan, % tanda-tanda akan dirangkumkan dalam petikan, menghasilkan pertanyaan seperti ini:

SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%'

Oleh itu, pertanyaan tidak akan mengembalikan sebarang hasil kerana petikan berganda mengganggu kefungsian pengendali LIKE yang dimaksudkan.

Untuk membetulkan isu ini, tanda % harus disertakan dalam parameter sebaliknya:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");

Dengan pengubahsuaian ini, pertanyaan yang disediakan akan mencari dengan betul alamat yang mengandungi $var1 atau $var2.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Operator LIKE dengan Parameter dalam PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn