したがって、PDO(ODBC)を使用してMSAccessデータベースにアクセスしています。私は過去7日間ではなく、今週のすべての記録を取得しようとしています。ここに私のクエリは次のとおりです。MSAccessへのPHP PDOクエリが正常に動作しません。
SELECT *
FROM tblBilling
WHERE ((
Year(DateOfService) = Year(Date())
And DatePart("ww", DateOfService, 0) = DatePart("ww", Date(), 0)
))
ORDER BY DateOfService, TimeOfService
明らかにこれはMSACCESSの中で動作しますが、Webアプリケーションからそれを使用しているとき、私は次のエラーを取得する:
SQLSTATE[07002]: COUNT field incorrect:
-3010 [Microsoft][ODBC Microsoft Access Driver]
Too few parameters. Expected 1.
(SQLExecute[-3010] at ext\pdo_odbc\odbc_stmt.c:254)
私はこれを理解できないようです。私は何かを見落とさなければなりません。 DataPart
を削除してもクエリが実行され、エラーは返されないことがわかりますが、必要な処理が実行されません。
ありがとうございました!要求されたよう
エクストラコード:
try
{
$pdo = new PDO('odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq='.DB_NAME.';Uid=');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$myPDO = $pdo->prepare($query);
$myPDO->execute();
$result = $myPDO->fetchAll();
} catch(PDOException $e)
{
echo $e->getMessage();
}
コードを表示できますか?これは、人々があなたの問題を診断できる唯一の方法です。 – rdlowrey
'WHERE'ステートメントの回りに括弧が必要ないと思います。 –