我想連接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