SELECT id, content, date
FROM comment
WHERE post = ?
ORDER BY date DESC
LIMIT ?, ?
Với PDO (Tôi đang sử dụng MAMP 2.0.5 có Apache 2.2.21, PHP lên đến 5.3.6 và MySQL 5.5.9) đã chuẩn bị tuyên bố điều này không làm việc, nếu tôi thay đổi truy vấn vớiLIMIT từ khóa trên MySQL với tuyên bố đã chuẩn bị
LIMIT 0, 10
hoạt động.
Tôi thấy trong các lỗi của MySQL rằng đây là lỗi trong phiên bản trước nhưng tôi không thể hiểu được nếu điều này vẫn còn được sửa.
Nếu điều này vẫn còn là một vấn đề, có một cách để chọn một loạt các hàng theo một cách khác?
mã:
$comments = $db->prepare($query);
/* where $db is the PDO object */
$comments->execute(array($post, $min, $max));
Làm cách nào để bạn ràng buộc các tham số của mình? – alexn
Làm việc xung quanh sẽ được đúc các giá trị mà bạn đang thay thế vào mệnh đề 'LIMIT' thành' (int) 'và chỉ định chúng theo nghĩa đen trong truy vấn. Đây là một bước khử trùng không thể phá vỡ theo cách nó phá vỡ bất cứ điều gì, bất kỳ chuỗi nào không phải là một biểu diễn số nguyên hợp lệ sẽ dẫn đến '0'. Trường hợp xấu nhất, bạn sẽ không nhận được kết quả nào. – DaveRandom
$ comments = $ db-> chuẩn bị ($ truy vấn);/* trong đó $ db là đối tượng PDO */$ comments-> execute (mảng ($ post, $ min, $ max)); – genesisxyz