我想连接php服务器到MS访问数据库,我已经尝试了一切仍然无法连接。PHP的MS Access连接不工作
这里是我的代码
<?php
$conn=odbc_connect('testdb','','');
//$conn=odbc_connect("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\wamp\www\test\testdb.accdb", '', '');
if (!$conn) {
exit("Connection Failed: " . $conn);
}
$sql="SELECT * FROM testdb";
$rs[]=odbc_exec($conn,$sql);
if (!$rs) {
exit("Error in SQL");
}
while (odbc_fetch_row($rs)) //<-------line 14
{
$json_output[] = odbc_result($rs, "test");
print(json_encode($json_output));
}
odbc_close($conn);
?>
如果我使用
$conn=odbc_connect('testdb','','');
然后我得到以下错误
Warning: odbc_fetch_row() expects parameter 1 to be resource, array given in C:\wamp\www\test\new 1.php on line 14
如果我使用
$conn=odbc_connect("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\wamp\www\test\testdb.accdb", '', '');
然后我得到下线作为错误。
Warning: odbc_connect(): SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in C:\wamp\www\test\new 1.php on line 3
我已经编辑我的php.ini文件以包括ODBC扩展
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll <--- here
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
而且我已经下载并从this link安装Microsoft Access数据库引擎2010可再发行。
另外我也尝试了所有显示in this video。
我也完成了这是写在接受的答案in this link,我在Windows 7 64位上运行64位WampServer版本2.4,也有64位微软办公室。
对不起,我的英语不好,我是新的PHP和连接到MS访问。我已经完成连接到MySQL,但从来没有访问。
让你的脚本'echo(8 * PHP_INT_SIZE)。 “-bit
”;'。结果(“32位”或“64位”)必须与您安装的Access数据库引擎的版本相匹配。 – 2014-10-04 14:28:41
它给我32位作为输出。它应该是64位? – 2014-10-04 15:33:09
嗯。答案[这里](http://stackoverflow.com/a/3233881/2144390)表明上述测试*可能会误导。你可以创建一个。mdb文件进行测试并尝试使用'Driver = {Microsoft Access Driver(* .mdb)}'(不带“,* .accdb”)连接到它? – 2014-10-04 15:49:57