我有一个包含许多两列的表:id,mydate
- Id 是一个数字;
- mydate 是日期时间,例如:2011-02-10 09:25:02
我在这个表中有 10 条记录。 8 条记录有 ID=1111 和两条 ID=2222
数据库中的两行:
id mydate
2222 2011-02-10 09:25:02
2222 2011-02-09 18:44:08
加载页面时,我想专门检查表中的 ID,如果此 ID 的日期与当前日期之间的差异大于 X 天,那么我想更新该记录。
我尝试这样的事情:
$X=1;
$query = "SELECT id FROM testtable WHERE id='2222' AND mydate > DATE_SUB(NOW(), INTERVAL $X DAY)";
$result = mysql_query($query) or die("something went wrong..");
$test= array();
if (mysql_num_rows($result) > 0) {
$i = 0;
while($test[$i] = mysql_fetch_array($result)) {
$i++;
}
}
echo "the number of rows is:".$i;
但是$i是空的。如果我改变$X=2那么我在echo中得到2。我不明白。 当前服务器日期是:2011 年 2 月 11 日星期五 11:41:51
最佳答案
使用 DATE_SUB(CURDATE()
) 代替 DATE_SUB(NOW()
) 前往今天午夜。
关于php - SQL查询-间隔问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4968598/