PHP:检查数据库中的最后存储时间是否大于10分钟,然后执行操作

时间:2013-11-29 22:45:00

标签: php datetime strtotime

我想检查之前是否存储了设备的IP,如果是,请检查IP存储时间和now()是否大于10分钟并执行操作。

这是我的PHP,如果数据库中存在IP,则需要这样做。

$ip = mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
$query = "SELECT * FROM messages WHERE ip = '$ip'";
$result = mysql_query($query);
if (mysql_num_rows($result) > 0) {
  echo "IP Present.."; 
}

我在数据库中有一个名为messageTime的列,它存储了IP存储的时间。

2 个答案:

答案 0 :(得分:1)

你可以直接在mysql中进行,如下所示:

$query = "SELECT * FROM messages WHERE ip = '$ip' AND date_sub(now(), INTERVAL 10 MINUTE) = now()";

答案 1 :(得分:0)

尝试以下查询:

$query = "SELECT * FROM messages WHERE ip = '$ip' AND messageTime >= '".strtotime('-10 minutes')."'";

这将选择ip为用户IP的所有行,以及messageTime比现在-10分钟更新的行。这仅在您的messageTime是unix时间戳

时才有效