Rumah >pangkalan data >tutorial mysql >Bagaimana Menggunakan Operator LIKE dengan PDO dengan betul dalam PHP?

Bagaimana Menggunakan Operator LIKE dengan PDO dengan betul dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-12-08 03:40:13345semak imbas

How to Correctly Use the LIKE Operator with PDO in PHP?

Melaksanakan Pertanyaan LIKE dengan PDO

Apabila menggunakan operator LIKE dalam Structured Query Language (SQL), tanda peratus (%) digunakan sebagai aksara kad bebas untuk memadankan sifar atau lebih kejadian subrentetan. Dalam PHP dengan PDO (Objek Data PHP), pengendali LIKE boleh digunakan untuk melakukan padanan corak terhadap lajur pangkalan data.

Perumusan Masalah

Seorang pengguna menghadapi masalah semasa cuba menggunakan operator LIKE dalam PDO. Walaupun memastikan bahawa nilai pembolehubah mengandungi istilah carian yang dikehendaki dan mengesahkan kefungsian pertanyaan PDO lain, pertanyaan LIKE tidak mengembalikan hasil.

Sintaks Pertanyaan Betul

Untuk menyelesaikan masalahnya, adalah penting untuk menyertakan nilai pembolehubah yang dipadankan dengan peratus (%) kad bebas dalam tatasusunan $params dan bukannya membenamkannya dalam rentetan pertanyaan itu sendiri. Berikut ialah sintaks yang betul:

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

Penjelasan

Dalam pertanyaan asal, % kad bebas telah dibenamkan dalam rentetan pertanyaan. Walau bagaimanapun, PDO menyediakan pertanyaan dengan memetik nilai, menghasilkan pertanyaan yang menyerupai:

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

Sintaks yang salah ini menghalang % kad bebas daripada berfungsi dengan betul sebagai kad bebas, menyebabkan tiada padanan ditemui. Sebaliknya, dengan memasukkan kad bebas dalam tatasusunan $params, tanda peratusan tidak dipetik, membenarkan mereka melaksanakan fungsi pemadanan kad bebas yang dimaksudkan.

Atas ialah kandungan terperinci Bagaimana Menggunakan Operator LIKE dengan PDO dengan betul dalam PHP?. 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