我有这个 token 表
-------------------------------------------------
user_id | time | token
-------------------------------------------------
user1 | 2014-10-01 | hsgdhsdgjsggs34hgxsd
user2 | 2014-09-18 | sghsgsdgsj454gfhdfg4
user3 | 2014-12-25 | dfhjdfhjdgee7722dhdd
时间字段由 php 函数 time() 填充并表示插入时间/日期;
因此,在我的应用程序中,我必须检查 token 字段是否有效,它会在 6 个月后过期。如何检查呢?
我用过这种方法
function checkToken($token, PDO $pdo) {
if ($stmt = $pdo->prepare("SELECT time FROM Token WHERE token = ? AND time + INTERVAL 180 DAY > NOW()")) {
$stmt->execute(array($token));
if ($stmt->rowCount() > 0) {
return true;
} else {
return false;
}
}
}
最佳答案
我会使用INTERVAL 6 MONTH
,但你还需要DAY_ADD()函数,查询将是这样的(没有测试过,那里可能有错误):
SELECT time FROM Token WHERE token = ? AND DAY_ADD(time, INTERVAL 6 MONTH) > NOW()
关于php - 检查php中数据库中的日期字段是否过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26190985/