Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Menggunakan LIMIT dengan Penyata Disediakan MySQL dalam PDO?

Bagaimana Menggunakan LIMIT dengan Penyata Disediakan MySQL dalam PDO?

DDD
DDDasal
2024-11-30 16:37:10228semak imbas

How to Use LIMIT with MySQL Prepared Statements in PDO?

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!

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