我似乎无法弄清楚我在哪里出错了。这就是我所拥有的:
$query = ("SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder date("Y-m-d",strtotime("+7 day"))' ORDER BY firstname") or die ('Error: ' .mysql_error());
答案 0 :(得分:3)
MySQL不会执行您在查询中发送的PHP代码。
这可能不是你打算做的。相反,连接date()
调用的结果。
$query = "SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder " . date("Y-m-d",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
,其中包含提醒日期。你不想尝试用你正在做的字符串解析它。这是缓慢而错误的。
答案 1 :(得分:1)
您不能在双引号字符串中插入函数调用。而是首先调用函数并将结果保存到$date
:
$date = date("Y-m-d",strtotime("+7 day"));
$query = ("SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder $date' ORDER BY firstname") or die ('Error: ' .mysql_error());
答案 2 :(得分:1)
因为您的查询似乎看起来好像将来7天。尝试“-7天”而不是“+7天”。