gpt4 book ai didi

php - 无法使用 PHP PDO 查询 MS Access 数据库中保存的查询

转载 作者:搜寻专家 更新时间:2023-10-31 22:11:17 26 4
gpt4 key购买 nike

我有一个包含大量已保存查询的 Microsoft Access 数据库。我想使用 PHP 来运行并获取这些查询的结果。我可以很好地查询同一个数据库中的表。我的理解是,我可以将查询视为表格。

这将从表“New Grower Fields”返回数据就好了:

$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=$connString; SystemDB=$mdw; Uid=$username; Pwd=$password");
$sth = $db->prepare("SELECT * FROM [New Grower Fields]");
$sth->execute();
$results = $sth->fetchALL(PDO::FETCH_ASSOC);
print_r($results);

但是如果我想使用一个保存的查询,我相信应该像查询一个表一样,我什么也得不到。

$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=$connString; SystemDB=$mdw; Uid=$username; Pwd=$password");
$sth = $db->prepare("SELECT * FROM [Daily Tonnage by Plant]");
$sth->execute();
$results = $sth->fetchALL(PDO::FETCH_ASSOC);
print_r($results);

有什么方法可以让我使用 PHP 在 MS Access 中获取已保存查询的结果?我对此很陌生。我感谢所有帮助!我很乐意提供所需的任何其他信息。

最佳答案

这似乎为我解决了这个问题:

$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=$connString; SystemDB=$mdw; Uid=$username; Pwd=$password");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $db->prepare("SELECT [Grade Date], NetWt FROM [Daily Tonnage by Plant]");
$sth->execute();

while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
print_r($row);
}

我补充说$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 并更改

$results = $sth->fetchALL(PDO::FETCH_ASSOC);$row = $sth->fetch(PDO::FETCH_ASSOC)

关于php - 无法使用 PHP PDO 查询 MS Access 数据库中保存的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12694829/

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