Итак, я обращаюсь к базе данных MSAccess с использованием PDO (ODBC).Я пытаюсь получить все записи за текущую неделю, а не за последние семь дней.Вот мой запрос:
SELECT *
FROM tblBilling
WHERE ((
Year(DateOfService) = Year(Date())
And DatePart("ww", DateOfService, 0) = DatePart("ww", Date(), 0)
))
ORDER BY DateOfService, TimeOfService
Очевидно, что это работает в MSAccess, но при использовании его из веб-приложения я получаю следующую ошибку:
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();
}