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