MySQL DateTime已经过了PHP时间

时间:2018-02-24 20:29:04

标签: php mysql

我正在用PHP编写一个登录系统,并希望实现一个函数来检查自上次登录失败后15分钟是否已经过去。

在我的users表的MySQL数据库中有一个名为last_login_datetime的列,它被定义为SQL的DATETIME格式,例如。 2018-02-24 21:12:57。

这是我用来检查自上次登录失败后15分钟已经过去的代码

$dateTime = date("Y-m-d H:i:s");

if($row['user_locked']==$statusY AND $dateTime - strtotime($row['last_loginfail_datetime'] > 15 * 60))
{
.....
}

这对我来说似乎并不适用,并希望有人能指出我哪里出错了?

提前致谢。

2 个答案:

答案 0 :(得分:1)

strtotime($dateTime)条件下使用$dateTime代替ifstrtotime返回UNIX tiemstamp,即:自1970年1月1日00:00:00 GMT以来的秒数     $ dateTime = date(“Y-m-d H:i:s”);

if($row['user_locked']==$statusY AND strtotime($dateTime) - strtotime($row['last_loginfail_datetime'] > 15 * 60))
{
.....
}

答案 1 :(得分:0)

您的代码无效,因为您的日期将被视为字符串。试试这个:

$dateTime = strtotime("now");

if($row['user_locked']==$statusY AND $dateTime - strtotime($row['last_loginfail_datetime'] > 15 * 60))
{
.....
}