使用PHP连接到Access数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHP连接到Access数据库相关的知识,希望对你有一定的参考价值。

我正在尝试通过php连接到我的Access数据库,但是我收到以下错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified' in C:inetpubwwwrootagencygetProperty.php:7 Stack trace: #0 C:inetpubwwwrootagencygetProperty.php(7): PDO->__construct('odbc:Driver={Mi...') #1 {main} thrown in C:inetpubwwwrootagencygetProperty.php on line 7

这是我正在使用的代码:

<?php
$bits = 8 * PHP_INT_SIZE;
echo "(Info: This script is running as $bits-bit.)

";
$dbName = "HS_BE.accdb";


$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=HS_BE.accdb");

$dbh = new PDO($connStr);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "SELECT * FROM Accommodation";
$sth = $dbh->prepare($sql);

$sth->execute();

while ($row = $sth->fetch()) {
    echo $row['Options'] . "
";
}

HS_BE.accdb与PHP文件位于同一目录中,我已经检查了PHP.ini并且所有odbc行都没有注释 - 我也从服务器上的microsoft.com下载了驱动程序。我能想到的唯一一件事就是我的$ bit是32位的响应,我下载的驱动程序是64位,但由于我在服务器上有64位办公室,我无法下载32位驱动程序。

答案

为了安全起见,请尝试使用realpath("HS_BE.accdb")

以上是关于使用PHP连接到Access数据库的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 连接到 MS Access DB

如何在线获取静态 MS-Access DB 并使用 PHP 连接到它?

如何在 PHP7 中连接到 MS Access 数据库?

无法通过 PHP 连接到 Access 数据库

在 Linux 上从 PHP 连接到 MS Access 数据库

PHP:远程连接到 MS Access 2013