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