Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Pertanyaan LIKE dengan Penyata Disediakan PDO dalam PHP?

Bagaimana untuk Melaksanakan Pertanyaan LIKE dengan Penyata Disediakan PDO dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 17:03:30891semak imbas

How to Execute a LIKE Query with PDO Prepared Statements in PHP?

Penyata PHP PDO Disediakan dengan MySQL LIKE Query

Artikel ini menangani isu menggunakan kelas PDO PHP (pemacu MySQL) untuk melakukan LIKE pertanyaan dengan pangkalan data MySQL.

Masalah timbul apabila cuba menggunakan LIKE dengan pernyataan yang disediakan, kerana sintaks yang digunakan dalam kaedah PDO execute() berbeza daripada klien MySQL.

Sintaks yang salah :

<code class="php">$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));</code>

menambah petikan berganda yang tidak perlu, yang membawa kepada hasil yang salah.

Begitu juga, sintaks ini juga tidak betul:

<code class="php">$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));</code>

kerana ia tidak mempunyai sintaks tambahan yang diperlukan untuk pernyataan yang disediakan.

Sintaks yang betul untuk melaksanakan pertanyaan LIKE dengan pernyataan yang disediakan PDO ialah:

<code class="php">$prep = $dbh->prepare($sql);
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));</code>

Pernyataan yang disediakan menawarkan kelebihan berbanding penggabungan rentetan kerana ia melindungi daripada suntikan SQL. Mereka menganggap nilai sebagai entiti yang berasingan daripada pertanyaan, menghapuskan keperluan untuk penggabungan yang menyusahkan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan LIKE dengan Penyata Disediakan PDO 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