Я не могу понять, где я ошибаюсь. Это то, что у меня есть:
$query = ("SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder date("Ymd",strtotime("+7 day"))' ORDER BY firstname") or die ('Error: ' .mysql_error());
MySQL не будет выполнять код PHP, который вы отправили в запросе.
Вероятно, это не то, что вы хотели сделать. Вместо этого соедините результат вызова date()
.
$query = "SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder " . date("Ymd",strtotime("+7 day")) . "' ORDER BY firstname";
Основываясь на ваших комментариях, вы действительно хотите что-то вроде этого:
SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder_date BETWEEN CURRENT_DATE AND CURRENT_DATE + INTERVAL 7 DAY
Если вам нужно добавить столбец reminder_date
в свою таблицу, который содержит дату напоминания. Вы не хотите пытаться разбирать его из строки, как вы делаете. Это медленно и неправильно.
Вы не можете интерполировать вызов функции внутри строки с двойными кавычками. Вместо этого сначала вызовите функцию и сохраните результат в $date
:
$date = date("Ymd",strtotime("+7 day")); $query = ("SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder $date' ORDER BY firstname") or die ('Error: ' .mysql_error());
Потому что ваш запрос выглядит 7 дней в будущем. Попробуйте «-7 день» вместо «+7 дня».