Berbilang Kegunaan Parameter Terikat
Dalam mencipta enjin carian pangkalan data asas, pembangun mungkin menghadapi keperluan untuk memasukkan pelbagai jenis maklumat dan mendapatkan semula data daripada berbilang jadual. Apabila menggunakan pernyataan yang disediakan dengan parameter terikat untuk padanan corak, dokumentasi PDO memberi amaran terhadap penggunaan penanda parameter yang dinamakan lebih daripada sekali.
Untuk memintas pengehadan ini, satu penyelesaian yang berpotensi adalah menggantikan setiap parameter :term dengan :termX (di mana X mewakili sebutan = n ). Walau bagaimanapun, ini boleh menjadi rumit dan terdedah kepada ralat.
Pendekatan alternatif ialah menggunakan Pembolehubah Takrif Pengguna MySQL. Dengan menyimpan parameter dalam pembolehubah ini, kod menjadi lebih mudah dibaca dan mengelakkan keperluan untuk fungsi PHP tambahan. Begini caranya:
Contoh:
$sql = "SET @term = :term"; try { $stmt = $dbh->prepare($sql); $stmt->bindValue(":term", "%$term%", PDO::PARAM_STR); $stmt->execute(); } catch (PDOException $e) { // error handling } $sql = "SELECT ... FROM table WHERE name LIKE @term OR number LIKE @term"; try { $stmt = $dbh->prepare($sql); $stmt->execute(); $stmt->fetchAll(); } catch (PDOException $e) { // error handling }
Kelebihan Pembolehubah Ditakrif Pengguna:
Pertimbangan:
MySQL tambahan pertanyaan diperlukan, yang mungkin perlu diambil kira untuk kebimbangan prestasi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Parameter Berbilang Terikat dengan Cekap dalam Penyata Disediakan MySQL untuk Padanan Corak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!