PHP / MS Access DB 无法查询任何内容

Posted

技术标签:

【中文标题】PHP / MS Access DB 无法查询任何内容【英文标题】:PHP / MS Access DB cannot query anything 【发布时间】:2013-12-03 22:58:12 【问题描述】:

我正在尝试使用 php 读取 mdb 文件。我的 phpinfo() 显示 PDO_ODBC 存在,但是当我尝试进行简单的结果转储时,它没有返回任何内容?我是否遗漏了代码中的任何内容?

<?php
$dbName = $_SERVER["DOCUMENT_ROOT"] . "/mdb/Books_be.mdb";

if (!file_exists($dbName)) 
    die("Could not find database file.");

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

$sql = "SELECT * FROM Books";
$result = $db->query($sql);

print_r($result);

编辑

我不确定问题可能出在 MDB 文件中。就是这个样子:

【问题讨论】:

您遇到了什么错误?发生了什么? 黑屏,好像什么都没有发生。我也尝试过“尝试并抓住”。 您使用的是 Mac。您的机器上是否安装了 Microsoft Access 的 ODBC 驱动程序? 显然,display_error 已关闭。所以我收到消息:“警告:odbc_connect(): SQL 错误:[unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in...” 但是 PHPINFO 说“PDO启用 ODBC (unixODBC) 驱动程序" 【参考方案1】:

可能是变量 $dbName 未解析,请尝试以下操作并确保您有

<?php
$dbName = $_SERVER["DOCUMENT_ROOT"] . "/mdb/Books_be.mdb";
$conn =  "odbc:DRIVER=Microsoft Access Driver (*.mdb); DBQ=". $dbName . "; Uid=; Pwd=;";
$db = new PDO($conn);

$sql = "SELECT * FROM Books";
$result = $db->query($sql);

print_r($result);
?>

【讨论】:

以上是关于PHP / MS Access DB 无法查询任何内容的主要内容,如果未能解决你的问题,请参考以下文章

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

获取从 PHP ADO 连接返回到 MS-Access DB 的 JSON

无法使用 MS Access 2007 访问 ODBC DB

尝试通过 VBA 创建查询,但即使我引用了 MS Access 15.0 对象库,也无法使用任何 DAO

如何从 Oracle DB 查询外部 MS Access DB?

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