在 Linux 上将 PHP 与 MS Access 2007-2010 连接
Posted
技术标签:
【中文标题】在 Linux 上将 PHP 与 MS Access 2007-2010 连接【英文标题】:connect PHP with MS Access 2007-2010 on Linux 【发布时间】:2014-03-11 08:28:39 【问题描述】:我有将 php 与 Microsoft Access 2007-2010 连接的代码,并且我使用的是 Linux 服务器 (Fedora)。
我的 Access db 文件与 index php 页面位于同一文件夹中 但是当我尝试加载页面时,我得到的只是一个空白页面。
这是我的 index.php 页面:
<?php
$db = 'test.mdb';
$conn = new COM('ADODB.Connection') or exit('Cannot start ADO.');
$conn->Open("DRIVER=Microsoft Access Driver (*.mdb); DBQ=$db") or exit('Cannot open with driver.');
$sql = 'SELECT first, second, last FROM t1 ORDER BY id';
$rs = $conn->Execute($sql);
?>
<table>
<tr>
<th>Product Name</th>
<th>Quantity Per Unit</th>
<th>Unit Price</th>
</tr>
<?php while (!$rs->EOF) ?>
<tr>
<td><?php echo $rs->Fields['first']->Value ?></td>
<td><?php echo $rs->Fields['second']->Value ?></td>
<td><?php echo $rs->Fields['last']->Value ?></td>
</tr>
<?php $rs->MoveNext() ?>
<?php ?>
</table>
<?php
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
?>
【问题讨论】:
【参考方案1】:当我在 WAMP 测试盒上运行您的代码时,出现以下错误:
致命错误:未捕获的异常 'com_exception' 带有消息 '来源: Microsoft OLE DB Provider for ODBC Drivers描述: [Microsoft][ODBC Microsoft Access Driver ] 找不到文件“(未知)”。在...
我改用这个来让它工作:
$db = $_SERVER["SCRIPT_FILENAME"] . '/../test.mdb';
$conn = new COM('ADODB.Connection') or exit('Cannot start ADO.');
try
$conn->Open("DRIVER=Microsoft Access Driver (*.mdb); DBQ=$db");
catch (Exception $e)
exit('Cannot open with driver: <br/>' . $e->getMessage());
但是...
如果您在 Linux 机器上执行代码,我不确定它是否会对您有所帮助。您正在尝试使用 COM
(又名com_dotnet
),我很确定 COM/.NET 扩展仅适用于 Windows 服务器。
您可能尝试使用unixODBC
和MDB Tools
而不是COM
,但我自己不会推荐它。如果您打算在 Linux 服务器上运行它,那么我建议您将数据库导出到 mysql 或其他对 Linux 上的 PHP 支持更好的数据库平台。
【讨论】:
那行不通。感谢您的尝试。同样的问题空白页。我在寡妇中尝试这个代码,我得到这个错误致命错误:找不到类'COM' @user3264926 如果您在 Windows 上收到“找不到类”错误,则表示尚未启用 COM/.NET 扩展。只需在 php.ini 中添加或取消注释extension=php_com_dotnet.dll
行。
我正在做,我在 php.ini 中添加 extension=php_com_dotnet.dll,但我遇到了同样的问题以上是关于在 Linux 上将 PHP 与 MS Access 2007-2010 连接的主要内容,如果未能解决你的问题,请参考以下文章
php 中的数据库连接与 Linux 主机上的 MS Access
无法在 ubuntu 11.1 上将 curl 与 PHP 一起使用