У меня есть сценарий разбиения на страницы, и я пытаюсь изменить базу данных mysql в базу данных pdo, но я получаю эту ошибку; SQLSTATE [42000]: Синтаксическая ошибка или нарушение прав доступа: 1064 У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «DESCLIMIT -2,2» по строке 1pdo pagination limit error
Часть кода, что вызывает у меня проблемы;
$limit = "LIMIT ".($page-1)*$perPage.",$perPage";
//$offset = ($page - 1) * $perPage;
$query = $db->prepare('SELECT image_id FROM images WHERE album_id= ? ORDER BY image_id DESC'.$limit);
$query->bindValue(1, $album_id);
//$query->bindParam(':limit', $limit, PDO::PARAM_INT);
try{
$query->execute();
}catch (PDOException $e){
die($e->getMessage());
}
Я искал в Google решения, но мое знание pdo недостаточно для правильного использования. У меня были такие ошибки; SQLSTATE [HY093]: Недопустимый номер параметра: количество связанных переменных не совпадает с числом токенов, из-за $query->bindParam(':limit', $limit, PDO::PARAM_INT);
Я не знаю, как это решить, может ли кто-нибудь мне помочь? Спасибо ...
Согласно вашей ошибке, у вас возникла проблема с термином 'DESCLIMIT', который не является надлежащим SQL, я считаю, что вы собираетесь« DESC LIMIT ». Просто поставьте пробел в конце вашего заявления для подготовки ПОСЛЕ 'DESC'. –
Я сделал ЗАКАЗ BY image_id DESC '. $ Limit); но это ничего не меняет. Пространство перед «оно лимит исчезает. – Robske
Он должен выглядеть как 'ORDER BY image_id DESC '. $ Предел); '. Все до ORDER_BY должно быть в порядке. –