Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengikat Nilai LIKE dalam Pertanyaan PDO Dengan Berkesan?

Bagaimana untuk Mengikat Nilai LIKE dalam Pertanyaan PDO Dengan Berkesan?

Barbara Streisand
Lepaskan: 2024-11-15 03:57:02
asal
471 orang telah melayarinya

How to Bind LIKE Values in PDO Queries Effectively?

Mengikat Nilai LIKE dalam PDO

Apabila menggunakan pertanyaan LIKE dalam PDO, adalah penting untuk memahami cara mengikat nilai carian dengan betul untuk mengelakkan perkara yang tidak dijangka keputusan.

Mengikat dengan Separa Padankan

Untuk mengikat padanan separa, anda boleh menggunakan sintaks berikut:

SELECT wrd FROM tablename WHERE wrd LIKE :partial
Salin selepas log masuk

Ikat parameter :separa kepada nilai separa yang anda ingin cari. Contohnya, jika anda mempunyai $partial = "somet", anda akan mengikatnya sebagai:

$stmt->bindParam(':partial', $partial);
Salin selepas log masuk

Mengikat dengan Wildcard

Untuk mengikat padanan separa dengan kad bebas pada penghujungnya, anda boleh menggunakan salah satu daripada ini kaedah:

  1. PDO-Generated Wildcard:

    Gunakan sintaks berikut:

    SELECT wrd FROM tablename WHERE wrd LIKE ':partial%'
    Salin selepas log masuk

    Ikat parameter :separa kepada nilai separa tanpa wildcard.

  2. SQL-Generated Wildcard:

    Gunakan sintaks berikut:

    SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')
    Salin selepas log masuk

    Ikat parameter :separa kepada nilai separa tanpa kad bebas.

Pertanyaan SUKA Kompleks

Jika nilai separa mengandungi aksara khas seperti %, _ atau , anda perlu melepaskannya untuk mengelakkan hasil yang tidak diingini. Gunakan kod berikut:

$stmt = $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'");
$escaped = str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);
$stmt->bindParam(':term', $escaped);
Salin selepas log masuk

Dengan mengikut garis panduan ini, anda boleh mengikat nilai LIKE dengan berkesan dalam pertanyaan PDO anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengikat Nilai LIKE dalam Pertanyaan PDO Dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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