Неустранимая ошибка PHP: Uncaught PDOException: SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 В синтаксисе SQL есть ошибка - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь создать скрипт разбиения на страницы, но кажется, что следующие строки не работают, из-за чего страница не загружается.

 $limit = 20;

$start_from = ($page - 1) * $limit;

$stmt = $conn->prepare("SELECT * FROM logs ORDER BY id ASC LIMIT :startf, :limits");
$stmt->bindValue(":startf", $start_from, PDO::PARAM_INT);
$stmt->bindValue(":limits", $limit, PDO::PARAM_INT);
$stmt->execute();

Я получаю ошибку

Неустранимая ошибка PHP: Uncaught PDOException: SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 У вас ошибка в синтаксисе SQL

Я пытался исправить это, изменив bindParam на bindValue, добавив PDO :: PARAM_INT, но это не исправит.

Спасибо, Бен Дж

1 Ответ

0 голосов
/ 30 июня 2018

Скорее всего, вы получите отрицательные значения для переменных :startf и :limits из LIMIT предложения.

a LIMIT , которое используется для указания количества записей в return, и эти ( оба в вашем случае ) являются неотрицательным целым числом значения.

Демонстрация SQL Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...