gpt4 book ai didi

php - 在 Linux 上将 PHP 与 MS Access 2007-2010 连接起来

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:34:13 26 4
gpt4 key购买 nike

我有连接 PHP 和 Microsoft Access 2007-2010 的代码,我使用的是 Linux 服务器 (Fedora)。

我的 Access 数据库文件与索引 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;

?>

最佳答案

当我在我的 WAMP 测试盒上运行您的代码时,出现以下错误:

Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft OLE DB Provider for ODBC Drivers
Description: [Microsoft][ODBC Microsoft Access Driver] Could not find file '(unknown)'.' in ...

我改用它来让它工作:

$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 服务器上可用。

可能尝试使用unixODBCMDB 工具 而不是COM,但我不推荐它我。如果您打算在 Linux 服务器上运行它,那么我建议您将数据库导出到 MySQL 或其他一些对 Linux 上的 PHP 有更好支持的数据库平台。

关于php - 在 Linux 上将 PHP 与 MS Access 2007-2010 连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22320144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com