我正在尝试创建一个登录系统,在15分钟不活动后将您注销。这是我当前获取数据的代码:
$itemResult = mysql_query("SELECT * FROM `logins` WHERE token = '$token' AND logged_date xxxxx");
这是我被困的地方。日期的格式如下:yy/mm/dd h:m
我需要使用不超过15分钟的正确令牌选择所有内容。我该怎么做?
答案 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)