php - SQL查询-间隔问题

标签 php sql mysql

我有一个包含许多两列的表: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/

相关文章:

php - 相互了解的对象

不支持 ODBC 或 MSSQL 的 PHP 到 SQL Server

php - 来自mysql结果的多维数组

php - php 中不同的 if 语句

php - 根据IP地址显示动态PHP内容

php xmlReader 与 xmlparser

sql - 插入 sql 行而不是删除的行会使数据库大小增加或保持不变

MySQL存储过程,如果存储过程的结果集为空,则更改一个变量并再次运行

mysql - sql : not able to find the view (WITH statement)

php - usort比较函数似乎没有被调用