0
  • 我检查了 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 扩展。

4

0 回答 0