Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk mengelakkan pertanyaan yang salah apabila menggunakan LIKE dalam PDO?

Bagaimana untuk mengelakkan pertanyaan yang salah apabila menggunakan LIKE dalam PDO?

Susan Sarandon
Lepaskan: 2024-11-11 12:54:02
asal
1103 orang telah melayarinya

How to Avoid Incorrect Queries When Using LIKE in PDO?

Melaksanakan Pertanyaan LIKE dengan Betul dalam PDO

Apabila cuba melaksanakan pertanyaan LIKE dalam PDO, adalah penting untuk memastikan sintaks yang betul untuk mendapatkan hasil yang tepat . Dalam pertanyaan yang diberikan, isunya terletak pada peletakan % aksara kad bebas.

Sintaks yang betul untuk pertanyaan SUKA dalam PDO ialah memasukkan tanda % dalam tatasusunan $params, bukannya pertanyaan itu sendiri. Berikut ialah contoh:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);
Salin selepas log masuk

Jika tanda % dimasukkan dalam tatasusunan $params, pertanyaan yang dijana akan kelihatan seperti berikut:

SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%'
Salin selepas log masuk

Walau bagaimanapun, dalam pertanyaan asal yang disediakan , tanda % dimasukkan dalam pertanyaan itu sendiri:

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";
Salin selepas log masuk

Apabila pertanyaan dilaksanakan, yang disediakan pernyataan memetik nilai dalam rentetan yang telah dipetik, mengakibatkan pertanyaan yang salah. Dengan mengalihkan tanda % ke tatasusunan $params, pertanyaan yang dimaksudkan akan dilaksanakan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk mengelakkan pertanyaan yang salah apabila menggunakan LIKE 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