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

Bagaimana Menggunakan LIMIT dengan Benar dalam Penyata Disediakan MySQL dengan PHP?

Linda Hamilton
Lepaskan: 2024-12-18 01:01:09
asal
631 orang telah melayarinya

How to Properly Use LIMIT in MySQL Prepared Statements with PHP?

LIMIT Kata Kunci pada MySQL dengan Penyata Disediakan

Apabila cuba menggunakan kata kunci LIMIT dalam pernyataan yang disediakan dengan MySQL, tingkah laku yang tidak dijangka boleh berlaku, seperti ralat menghuraikan apabila menggunakan rentetan sebagai parameter. Isu ini timbul disebabkan oleh PDO PHP merawat semua parameter sebagai rentetan secara lalai semasa pelaksanaan.

Dalam pertanyaan yang anda berikan:

SELECT id, content, date
FROM comment
WHERE post = ?
ORDER BY date DESC
LIMIT ?, ?
Salin selepas log masuk

Nilai untuk parameter LIMIT sedang dimasukkan sebagai rentetan, menghasilkan dalam sintaks SQL yang tidak sah:

LIMIT '0', '10'
Salin selepas log masuk

Untuk menyelesaikan isu ini, anda mempunyai beberapa pilihan:

Ikat Parameter dengan Jenis

Ikat LIMIT parameter secara individu, nyatakan jenis datanya:

$comments->bindParam(2, $min, PDO::PARAM_INT);
$comments->bindParam(3, $min, PDO::PARAM_INT);
Salin selepas log masuk

Pas Parameter Di Luar Penyata Disediakan

Elakkan menggunakan parameter untuk LIMIT nilai dan benamkannya terus ke dalam pertanyaan:

$query = sprintf('SELECT id, content, date
    FROM comment
    WHERE post = ?
    ORDER BY date DESC
    LIMIT %d, %d', $min, $max);
Salin selepas log masuk

Lumpuhkan Persediaan Ditiru

Sesetengah pemandu meniru pernyataan yang disediakan dan boleh memetik hujah berangka secara automatik. Lumpuhkan tingkah laku ini:

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);
Salin selepas log masuk

Dengan melaksanakan salah satu pendekatan ini, anda boleh menggunakan kata kunci LIMIT dengan betul dalam pernyataan yang disediakan dalam MySQL.

Atas ialah kandungan terperinci Bagaimana Menggunakan LIMIT dengan Benar dalam Penyata Disediakan MySQL dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan