为什么这7天之后没有提取数据?

时间:2011-07-27 01:20:01

标签: php mysql

我似乎无法弄清楚我在哪里出错了。这就是我所拥有的:

$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());

3 个答案:

答案 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天”。

相关问题