【发布时间】:2014-06-21 13:40:07
【问题描述】:
我正在使用 Ubuntu+php+unixodbc+mdbtools 来处理 .mdb 文件。
每件事(连接+选择)都很好,但是插入或更新语句。
我的代码是这样的:
$mdbConnection = new \PDO("odbc:mdbdriver",$user , $password , array('dbname' =>$FileName) );
$SelectResult = $mdbConnection->query("Select * from Zone");
$UpdateResult = $mdbConnection->query("Update Zone Set ShahrCode = 99");
$SelectResult 返回正确的结果,但第二个抛出错误导致 apache 出现段错误。
我用 isql 命令对其进行了测试。运行 Select 语句是成功的,但更新不是。
#isql mdbdriver
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>Update Zone Set ShahrCode = 99
Error at Line : syntax error near Update
syntax error near Update
Got no result for 'Update Zone Set ShahrCode = 99' command
[08001][unixODBC]Couldn't parse SQL
[ISQL]ERROR: Could not SQLExecute
或者
SQL> Update [Zone] Set ShahrCode = 99
Error at Line : syntax error near Update
syntax error near Update
Got no result for 'Update [Zone] Set ShahrCode = 99' command
[ISQL]ERROR: Could not SQLExecute
我应该如何解决这个错误? 谢谢大家
【问题讨论】:
-
当您在 Access 中打开 Windows 操作系统上的 .mdb 文件时运行“Update Zone Set ShahrCode = 99”时,它是否有效或是否出现类似错误?
-
否,在 Windows 操作系统上,该项目工作正常。
标签: php ms-access ubuntu unixodbc