LIMIT Kata Kunci pada MySQL dengan Penyata Disediakan
Apabila cuba untuk melaksanakan pernyataan yang disediakan dengan kata kunci LIMIT, anda mungkin menghadapi ralat jika anda sedang menggunakan perpustakaan PDO (Objek Data PHP). Ini kerana PDO menganggap semua parameter sebagai rentetan, yang boleh membawa kepada ralat penghuraian apabila menggunakan nilai angka untuk argumen LIMIT.
Untuk menyelesaikan isu ini, anda boleh mempertimbangkan pilihan berikut:
1. Ikat Parameter Satu Persatu:
Anda boleh mengikat setiap parameter secara manual dengan jenis yang sesuai, memastikan argumen LIMIT dianggap sebagai integer:
$comments->bindParam(1, $post, PDO::PARAM_STR); $comments->bindParam(2, $min, PDO::PARAM_INT); $comments->bindParam(3, $min, PDO::PARAM_INT);
2. Lumpuhkan Penyata Disediakan:
Pilihan lain ialah melumpuhkan persediaan yang dicontohi, yang boleh menyebabkan hujah dipetik:
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);
3. Jangan Lulus Nilai LIMIT:
Daripada menghantar nilai LIMIT sebagai parameter, anda boleh membenamkannya terus ke dalam rentetan pertanyaan:
$query = sprintf('SELECT id, content, date FROM comment WHERE post = ? ORDER BY date DESC LIMIT %d, %d', $min, $max);
Dengan mengelakkan penggunaan persediaan yang dicontohi atau menetapkan jenis parameter secara eksplisit, anda boleh berjaya melaksanakan pernyataan yang disediakan dengan kata kunci LIMIT dalam MySQL.
Atas ialah kandungan terperinci Bagaimana Menggunakan LIMIT dengan Penyata Disediakan MySQL dalam PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!