Đây là ảnh chụp nhanh mã của tôi:
$fetchPictures = $PDO->prepare("SELECT *
FROM pictures
WHERE album = :albumId
ORDER BY id ASC
LIMIT :skip, :max");
$fetchPictures->bindValue(':albumId', $_GET['albumid'], PDO::PARAM_INT);
if(isset($_GET['skip'])) {
$fetchPictures->bindValue(':skip', trim($_GET['skip']), PDO::PARAM_INT);
} else {
$fetchPictures->bindValue(':skip', 0, PDO::PARAM_INT);
}
$fetchPictures->bindValue(':max', $max, PDO::PARAM_INT);
$fetchPictures->execute() or die(print_r($fetchPictures->errorInfo()));
$pictures = $fetchPictures->fetchAll(PDO::FETCH_ASSOC);
tôi có
Bạn có lỗi trong cú pháp SQL của mình; kiểm tra hướng dẫn sử dụng tương ứng với phiên bản máy chủ MySQL của bạn để biết cú pháp phù hợp để sử dụng gần '' 15 ', 15' ở dòng 1
Có vẻ như PDO đang thêm dấu ngoặc kép vào các biến của tôi trong phần LIMIT của mã SQL. Tôi đã tra cứu và tìm thấy lỗi này mà tôi nghĩ là có liên quan: http://bugs.php.net/bug.php?id=44639
Đó là những gì tôi đang nhìn? Lỗi này đã được mở từ tháng 4 năm 2008! Chúng ta phải làm gì trong lúc này?
Tôi cần tạo một số phân trang và cần đảm bảo dữ liệu sạch sẽ, an toàn cho sql trước khi gửi câu lệnh sql.