- 我检查了 pdo_odbc 扩展
<?php phpinfo(); ?>
,发现它已启用。 - 我解析了文件路径
$_SERVER["DOCUMENT_ROOT"]
并回显了结果,然后我使用以下代码进行连接:
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$dbName; Uid=; Pwd=;");
我得到的错误是:
SQLSTATE[01000] SQLDriverConnect: 0 [unixODBC][Driver Manager]Can't open lib 'Microsoft Access Driver (*.mdb, *.accdb)': 找不到文件
- 我无权访问 php.ini 来编辑它。
这是我的代码:
$dbName = "filename.accdb";
if (!file_exists($dbName)) {
die("Could not find database file.");
}
else
{
try{
echo 'Connecting ... ';
echo $dbName ."</br>";
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$dbName; Uid=; Pwd=;");
$sql = "SELECT * FROM Tblperson";
$sql .= " WHERE id = 1";
echo $sql;
$result = $db->query($sql);
$row = $result->fetch();
//......
}
catch (PDOException $e) {
echo $e->getMessage();
}
}
我可以在 Windows 10 64 位上顺利将上述代码与 WAMP 一起使用,但在免费网站(甚至付费网站)上,我得到了与原始问题相同的错误,尽管我确保启用了所有必需的 PHP 扩展。