Menggunakan Pembolehubah Ditakrifkan Pengguna untuk Mengikat Parameter Berbilang Kali
Apabila melaksanakan fungsi carian untuk pangkalan data, ia biasanya melibatkan penggunaan pernyataan yang disediakan dan mengikat parameter istilah carian. Walau bagaimanapun, MySQL mengehadkan penggunaan berulang parameter yang dinamakan dalam satu pernyataan yang disediakan.
Penyelesaian Alternatif
Daripada menggunakan berbilang parameter (cth., :term1, : term2), pertimbangkan untuk memanfaatkan Pembolehubah Ditakrifkan Pengguna MySQL. Ini membolehkan anda menyimpan nilai parameter dalam pembolehubah sementara dalam pangkalan data itu sendiri.
Pelaksanaan
Untuk melaksanakan ini:
SET @term = :term;
$stmt = $dbh->prepare($sql); $stmt->bindValue(":term", "%$term%", PDO::PARAM_STR); $stmt->execute();
SELECT ... FROM table WHERE name LIKE @term OR number LIKE @term;
Kelebihan
Kaedah ini menawarkan beberapa kelebihan:
Kaveat
Satu-satunya kaveat ialah overhed melaksanakan pertanyaan tambahan untuk menetapkan Pembolehubah Ditakrifkan Pengguna. Walau bagaimanapun, faedahnya jauh mengatasi kelemahan kecil ini.
Atas ialah kandungan terperinci Bagaimanakah Pembolehubah Ditakrifkan Pengguna Boleh Menyelesaikan Had Pengikat Parameter Berulang MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!