...
$sql = "SELECT * FROM shortcode WHERE invalid_from_shortcode < Date()";
...
Функции PHP, такие как Date()
, не отображаются в строке SQL. Либо передайте значение, либо используйте эквивалентную функцию Postgres, например, @ pr1nc3, уже предложенный .
Однако, хотя вы не раскрываете фактический тип данных invalid_from_shortcode
, неясно, может ли now()
служить эквивалентной функцией. Возвращает текущий timestamp with time zone
, который существенно отличается от текущей даты - фактически эквивалентен текущему timestamptz
, усеченному до 00:00 в соответствии с текущей настройкой timezone
. Вам может понадобиться CURRENT_DATE
(аналогично now()::date
). Связанный:
В сторону: В отличие от двух других предложенных ответов, в Postgres нет CURDATE()
. Это, вероятно, сбивает с толку MySQL с Postgres.