[Microsoft] [ODBC Microsoft Access驱动程序] FROM子句中的语法错误,因为存在偏移和限制

时间:2019-03-21 08:26:15

标签: php codeigniter ms-access

此外,我正在使用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

     

FROM子句中的[Microsoft] [ODBC Microsoft Access驱动程序]语法错误。

     

从Logger Limit 10偏移量0中选择*

     

文件名:C:/inetpub/wwwroot/system/database/DB_driver.php

     

行号:691

我更面向Mysql,在MSAccess中没有那么多经验。

我正在尝试按照注释中的建议进行解决,并开始使用top,但是现在出现此错误:

错误号:37000

  

[Microsoft] [ODBC Microsoft Access驱动程序] SELECT语句   包含保留字或参数名称拼写错误或   丢失,或者标点符号不正确。

     

从记录器中选择TOP 10

     

文件名:C:/inetpub/wwwroot/system/database/DB_driver.php

     

行号:691

1 个答案:

答案 0 :(得分:0)

对于那些在这里被重定向的人,我有一个答案,到目前为止,我没有发现任何错误。希望我没有找到。 我的问题是分页和调整限制和偏移量。 这是我发现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