Bagaimana untuk Menggunakan Operator LIKE dengan Parameter dalam PDO?

Mary-Kate Olsen
Lepaskan: 2024-11-27 09:26:11
asal
716 orang telah melayarinya

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);
Salin selepas log masuk

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"%'
Salin selepas log masuk

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%");
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan