Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Melaksanakan Pertanyaan LIKE dengan Pemegang Tempat dalam PDO?

Bagaimana untuk Melaksanakan Pertanyaan LIKE dengan Pemegang Tempat dalam PDO?

Susan Sarandon
Lepaskan: 2024-11-12 01:34:03
asal
437 orang telah melayarinya

How to Implement LIKE Queries with Placeholders in PDO?

Laksanakan LIKE Query dalam PDO

Apabila bekerja dengan pertanyaan LIKE dalam PDO, adalah penting untuk memahami cara menggabungkan ruang letak dan mengikat pembolehubah dengan betul. Artikel ini menangani masalah yang dihadapi oleh pengguna yang melaksanakan pertanyaan LIKE dalam PDO, yang mana pertanyaan mereka gagal mengembalikan hasil.

Pertanyaan asal, seperti yang disediakan oleh pengguna, cuba menggunakan ruang letak dengan tanda peratusan yang dilampirkan:

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

Walau bagaimanapun, pendekatan ini tidak betul. Tanda peratusan harus dimasukkan dalam pembolehubah bind, bukan dalam pertanyaan itu sendiri:

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

Dengan melampirkan nilai pembolehubah dengan tanda peratusan dalam pembolehubah bind, pertanyaan yang dihasilkan memastikan klausa LIKE akan mencari alamat yang mengandungi perkataan yang ditentukan. Tanpa pelarasan ini, pertanyaan akan menghasilkan sesuatu seperti:

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

Pertanyaan ini akan gagal kerana tanda peratusan dibenamkan dalam petikan, menyebabkan carian mencari alamat yang mengandungi teks tepat "foo" atau " bar", bukan perkataan yang mengandungi istilah tersebut.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan LIKE dengan Pemegang Tempat 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