在Linux上从PHP连接到MS Access数据库



我的客户端多年来一直在运行Windows服务器,但我们现在正在为我为他们创建的web应用程序转移到一台单独的Linux机器上。目前,我们在Windows服务器上运行PHP,在该服务器上我们可以连接到同一磁盘上的MDB文件。这是一个来自外部的文件,web应用程序使用MySQL。在新的设置中,我们有一个Linux web服务器(Apache/MySQL/PHP(和一个Windows 2016服务器,它们通过VPN连接,我们在MDB文件所在的Windows服务器上安装了一个共享。到目前为止,一切都很好,但是我似乎无法查询MDB文件。连接已经建立,没有出现错误,但我运行的每个查询都会返回一个错误,或者没有什么不确定的。这是我的代码:

<?php
$db=new PDO("odbc:Driver=MDBTools; DBQ=/mnt/<dir>/<file>.mdb;");
$query=$db->query("SELECT * FROM <table>;");
$return=array();
if($query) {
while($result=$query->fetch(PDO::FETCH_ASSOC)) {
$return[]=$result;
}
}else $return['error']=1;
//close
$query=null;
$db=null;
print_r($return);
?>

目前所有结果都返回错误>1。

PDO抛出以下错误:

Connection failed: SQLSTATE[08001]: Client unable to establish connection: 1 Couldn't parse SQL (SQLExecute[1] at /build/php7.2-pRoOsC/php7.2-7.2.24/ext/pdo_odbc/odbc_stmt.c:260)

我发现问题的解决方案是删除;来自查询。

最新更新