3

多数のクエリが保存された 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 で保存したクエリの結果を取得できるようにする方法はありますか? 私はこれにかなり慣れていません。すべての助けに感謝します!必要な追加情報がありましたら、喜んで提供させていただきます。

4

1 に答える 1

0

これは私にとってそれを解決するように見えました:

$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)

于 2016-09-22T20:03:39.597 に答える