MySql选择日期是否超过15分钟前

时间:2015-07-02 22:02:52

标签: php mysql sql time

我正在尝试创建一个登录系统,在15分钟不活动后将您注销。这是我当前获取数据的代码:

$itemResult = mysql_query("SELECT * FROM `logins` WHERE token = '$token' AND logged_date xxxxx");

这是我被困的地方。日期的格式如下:yy/mm/dd h:m

我需要使用不超过15分钟的正确令牌选择所有内容。我该怎么做?

1 个答案:

答案 0 :(得分:0)

说明:

由于您使用的是varchar列类型,因此需要将它们转换为相同的类型,更改数据库以将日期存储为日期(通常是最佳做法)或使用str_to_date()在比较之前将您的字符串转换为日期。

然后我们使用NOW()函数获取当前日期时间,从NOW()的值中减去15分钟的间隔,并将其与logged_date列进行比较

或者您可以使用Date_format()now - 15min日期转换为字符串

date_format(DATE(NOW() - INTERVAL 15 MINUTE), '%y/%m/%d %h:%i')然后将您的varchar与

进行比较

查询:

SELECT *
FROM `logins`
WHERE token = '$token'
      AND 
      str_to_date(logged_date, '%y/%m/%d %h:%i') >= DATE(NOW() - INTERVAL 15 MINUTE)