[Microsoft] [ODBC Microsoft Access Driver] Синтаксическая ошибка в предложении FROM из-за смещения и ограничения - PullRequest
0 голосов
/ 21 марта 2019

Более того, я использую php, codeigniter для доступа к файлу mdb. Я подключаюсь и запрашиваю БД при использовании следующего:

$this->mov->query("Select * from Logger")->result_array();

Так что никаких проблем нет. Проблемы возникают, когда я пытаюсь добавить ограничение и смещение к запросу. Следующим образом:

$this->mov->query("Select * from Logger Limit $limit offset $offset")->result_array();

Я уверен, что $offset и $limit не пусты.

Я получаю следующую ошибку:

Номер ошибки: 37000

[Microsoft] [ODBC Microsoft Access Driver] Синтаксическая ошибка в предложении FROM.

Выберите * из смещения Logger Limit 10 0

Имя файла: C: /inetpub/wwwroot/system/database/DB_driver.php

Номер строки: 691

Я больше ориентирован на Mysql и не имею большого опыта работы с MSAccess.

Я пробую обходной путь, предложенный в комментариях, и начинаю использовать top, но теперь я получаю эту ошибку:

Номер ошибки: 37000

[Microsoft] [ODBC Microsoft Access Driver] Оператор SELECT включает зарезервированное слово или имя аргумента с ошибкой или отсутствует или пунктуация неверна.

Выберите ТОП 10 из Logger

Имя файла: C: /inetpub/wwwroot/system/database/DB_driver.php

Номер строки: 691

1 Ответ

0 голосов
/ 21 марта 2019

Для тех, кто перенаправляется сюда, у меня есть ответ, который до сих пор не нашел ошибок.Надеюсь, я не нахожу.Моя проблема была для нумерации страниц и адаптации предела и смещения.Вот способ, который я нашел для пагинации MSAccess.Пожалуйста, если вы обнаружите какие-либо ошибки, не стесняйтесь писать:

Select TOP {Rows/Page} * from {table} where {ID} not in (Select {ID} from (Select Top {Offset} * from {table} order by {column}) as tbl1) order by {column}

Где:

{Rows/Page} = Records to show per page
{table} = Table is your table
{ID} = A unique column in your table
{column} = Column in your table to order by
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...