Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Menggunakan Kad Liar dengan Penyata Disediakan dalam 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!