Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Menggunakan Kad Liar dengan Penyata Disediakan dalam MySQL?

Bagaimana Menggunakan Kad Liar dengan Penyata Disediakan dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-10-28 09:46:02865semak imbas

 How to Use Wildcards with Prepared Statements in MySQL?

Melaksanakan Pertanyaan MySQL dengan Pernyataan dan Kad Liar yang Disediakan

Apabila melaksanakan pertanyaan SQL menggunakan pernyataan yang disediakan, adalah penting untuk menggunakan kad bebas dengan berkesan untuk meningkatkan fleksibiliti dan kecekapan pertanyaan anda. Walaupun kenyataan yang disediakan menawarkan faedah keselamatan dengan menghalang suntikan SQL, ia mungkin memerlukan pelarasan tertentu apabila memasukkan kad bebas.

Dalam senario khusus anda, melaksanakan pertanyaan:

SELECT * FROM `gc_users` WHERE `name` LIKE '%anyname%'

dengan pernyataan yang disediakan pada mulanya gagal, kerana kod tersebut cuba mengikat parameter terus ke kad bebas. Walau bagaimanapun, dengan menggunakan bindValue dan bukannya bindParam, anda berjaya mencapai kefungsian yang diingini, mengikat pembolehubah $name yang dilampirkan kad liar:

$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name");
$stmt->bindValue(':name', '%' . $name . '%');
$stmt->execute();

Sebagai alternatif, anda juga boleh memanfaatkan bindParam bersama-sama dengan menambah dan menambahkan kad liar pada Pembolehubah $nama, seperti yang dilihat di bawah:

$name = "%$name%";
$query = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` like :name");
$query->bindParam(':name', $name);
$query->execute();

Atas ialah kandungan terperinci Bagaimana Menggunakan Kad Liar dengan Penyata Disediakan dalam MySQL?. 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