1

我从 MySQL 中连续选择以下时间:

2013-02-05 11:05:20

我想看看是否过了30分钟..

这是我迄今为止尝试过的,但似乎无法让它工作:

if(strtotime($row['last_visit']) > strtotime("-30 minutes")) {
        $database->query("UPDATE `visit_count` SET visitCount = visitCount + 1, cookieId = '$sid', last_visit='$idag' WHERE cookieId = '$sid' AND ipaddress = '$ip'");

}

last_visit = 2013-02-05 11:05:20 在数据库中

4

3 回答 3

1

您必须与当前时间进行比较

if(strtotime($row['last_visit']) < (time() -(30*60)) {
        $database->query("UPDATE `visit_count` SET visitCount = visitCount + 1, cookieId = '$sid', last_visit='$idag' WHERE cookieId = '$sid' AND ipaddress = '$ip'");

}
于 2013-02-05T10:12:32.750 回答
1
$database->query("UPDATE `visit_count` SET visitCount = visitCount + 1, cookieId = '$sid',   last_visit='$idag' WHERE cookieId = '$sid' AND ipaddress = '$ip'" and MINUTES(last_visit)=MINUTES(TIMESTAMP())-30);

它可能会对你有所帮助。可能存在一些语法错误。互联网在这里制造了问题。优化来自http://dev.mysql.com/doc/refman/5.1/en/datetime.html的语法错误

于 2013-02-05T10:34:13.923 回答
0

试试这个:

if((time()-1800) > strtotime($row['last_visit']) { // 3600 is one hour, so 1800 is 30 minutes
于 2013-02-05T10:13:21.720 回答