这是我所拥有的,无论日期如何,它都会不断返回所有提醒。任何人都可以帮助指导我吗?
$reminder=$_GET['reminder'];
$date = date('Y-m-d',strtotime("last sunday + INTERVAL 7 DAY "));
$query = ("SELECT * FROM contacts WHERE reminder = '$reminder $date' ORDER BY firstname") or die ('Error: ' .mysql_error());
$result=mysql_query($query);
while ($row = mysql_fetch_array($result)) {
答案 0 :(得分:1)
strtotime非常强大,但它无法解析MySQL日期选择语法。如果你想在最后一个星期天之后的7天,“星期日”有效。你也可以这样做,“上周日+ 7天”。
我不知道$reminder
是什么(您确定需要将日期添加到提醒变量吗?),但这适用于您的$date
变量:
$date = date('Y-m-d',strtotime("sunday"));
顺便说一句,这是致命的:
$reminder=$_GET['reminder'];
$query = ("SELECT * FROM contacts WHERE reminder = '$reminder $date' ".
" ORDER BY firstname");
// or die ('Error: ' .mysql_error()); <-- line is always true...
查看Bobby Tables,了解为什么第一行应该是:
$reminder=mysql_real_escape_string( $_GET['reminder'] );
答案 1 :(得分:0)
你想:
WHERE reminder = '$reminder' AND date_column = $date
答案 2 :(得分:0)
你写的sql是
SELECT * FROM contacts WHERE reminder = '$reminder $date' ORDER BY firstname
我认为它应该像是
SELECT * FROM contacts WHERE reminder = '$reminder' AND date='$date' ORDER BY firstname
但仍然取决于您的架构,所以只需打印您的查询&amp;在mysql-prompt或phpmyadmin中执行将为您提供有关故障排除的好主意。