Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Melaksanakan Pertanyaan LIKE dengan PDO untuk Carian Selamat dan Cekap dengan Betul?

Bagaimana untuk Melaksanakan Pertanyaan LIKE dengan PDO untuk Carian Selamat dan Cekap dengan Betul?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-10 10:29:02567semak imbas

How to Properly Implement LIKE Queries with PDO for Secure and Efficient Search?

Melaksanakan Pertanyaan LIKE dalam PDO

Apabila menggunakan pertanyaan LIKE dengan PDO, adalah penting untuk memastikan pengendalian parameter yang betul. Contoh pertanyaan yang diberikan:

SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'

adalah salah. Untuk memasukkan operator LIKE dengan nilai pembolehubah, simbol peratusan (%) harus dimasukkan dalam tatasusunan $params, bukan dalam pertanyaan itu sendiri. Kod yang betul:

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

Dengan memasukkan simbol peratusan dalam tatasusunan $params, ia digantikan dengan betul ke dalam pertanyaan pernyataan yang disediakan, menghasilkan carian untuk alamat yang mengandungi sama ada nilai pembolehubah.

Nota Tambahan:

  • Sintaks pernyataan yang disediakan (dengan tanda soal) digunakan untuk keselamatan dan untuk mengelakkan serangan suntikan SQL.
  • Adalah penting untuk berhati-hati semak pertanyaan yang dijana dalam senario penyahpepijatan untuk memastikan ia sejajar dengan gelagat yang dimaksudkan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan LIKE dengan PDO untuk Carian Selamat dan Cekap dengan Betul?. 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