PHP и MYSQL: почему A работает, а B не работает? - PullRequest
1 голос
/ 14 ноября 2009

Прежде всего, я использую функцию DATE_ADD для MySQL. При попытке использовать $sqlA в php, он по какой-то причине говорит синтаксическую ошибку (в основном область после WHERE). Зачем?

$sqlA = "SELECT $column_name FROM $table_name WHERE Date >= DATE_ADD(CURDATE(), - INTERVAL 3 DAY)";

Однако работает без DATE_ADD:

$sqlB = "SELECT column FROM table WHERE Date >=  CURDATE() - INTERVAL 3 DAY ";

Заметьте, я поставил имя столбца и имя таблицы в $sqlB? Ну, я попытался заменить его сейчас с помощью PHP, и это не удалось. Там написано синтаксическая ошибка, почему?

$sqlC = "SELECT $column_name FROM $table_name WHERE Date >=  CURDATE()-INTERVAL 3 DAY";

1 Ответ

2 голосов
/ 14 ноября 2009

Вы не можете иметь знак минус перед INTERVAL. Вместо этого используйте DATE_SUB.

...