使用PHP连接到Access


Connect to Access with PHP

我需要通过PHP连接到Access数据库。

我已经在php.ini文件中取消了"extension=php_pdo_odbc.dll"的注释。我已经将数据库与我试图连接的.php文件放在同一个文件夹中。

到目前为止我的代码:

$dbName = "data.mdb";
if (!file_exists($dbName)) {
    die("Could not find database file.");
}
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName");

我的错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] SQLDriverConnect: -1811 [Microsoft][ODBC Microsoft Access Driver] Could not find file '(unknown)'.' in C:'xampp'htdocs'Test'index.php:40 Stack trace: #0
C:'xampp'htdocs'Access_Test'index.php(40): PDO->__construct('odbc:DRIVER={Mi...') #1 {main} thrown in C:'xampp'htdocs'LAWsites'Access_Test'index.php on line 40

有什么想法吗?

数据库位置参数(DBQ)需要数据库文件的绝对路径:

$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=".realpath($dbName));

当访问数据库位于同一文件夹中时,我遇到了类似的错误。

SQLSTATE[HY000] SQLDriverConnect: -1044 [Microsoft][ODBC Microsoft Access Driver] Not a valid file name.

我把"./"放在文件名前面,它就起作用了。

$handler = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=./CIDB.MDB;");