Я не могу понять, ошибка синтаксиса Mysql

0

Поэтому я новичок в MYSQL, и я хочу сделать этот запрос, но я не знаю, как правильно его записать, поэтому я буду очень рад, если вы, ребята, поможете мне с этим.

SELECT * FROM comments LIMIT $skip, $perPage WHERE post_id = $page
  • 0
    SELECT * FROM comments WHERE post_id = $page LIMIT $skip, $perPage Это то, что вы ищете
  • 0
    В структуре запроса есть порядок, LIMIT должен быть последним SELECT * FROM comments WHERE post_id = $page LIMIT $skip, $perPage
Показать ещё 2 комментария
Теги:

2 ответа

5

Используйте LIMIT после ГДЕ

SELECT * FROM comments WHERE post_id = $page LIMIT $skip, $perPage;
  • 2
    За этот ответ не следует голосовать, поскольку LIMIT - в контексте нумерации страниц - должен использоваться только с ORDER BY .
0

Вам нужно добавить ORDER BY если вы используете разбивку на страницы. В противном случае вы рискуете получить строки с неопределенным порядком.

По определению SQL SELECT по умолчанию возвращает строки, не имеющие определенного порядка. Если вам нужен конкретный заказ, вам нужно указать его с помощью ORDER BY.

Ответ должен быть примерно таким:

SELECT * FROM comments WHERE post_id = $page 
  ORDER BY recorded_at
  LIMIT $skip, $perPage;

Обратите внимание, что я добавил ORDER BY recorded_at чтобы гарантировать, что данные будут иметь смысл для конечного пользователя.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню