php - 检查php中数据库中的日期字段是否过期

标签 php mysql date

我有这个 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/

相关文章:

php - MySQL 连接两个表 ID 以将结果从一个表生成到另一个表

php - 如何在 PHP 中编辑/管理多层条件数据

php - 如何不是从表单而是从所见即所得更新 mysql

php - 如何从 mySQL 和 PHP 中检索多维数组的结果?

php - 没有 ON DUPLICATE KEY 的 MySQL UPSERT

php - 以二进制形式保存 mysql 数据

php - PDO foreach 不显示正在获取的数据

java - SimpleDateFormat "Unparseable date"异常

java - 将日历日期格式设置为受时区影响的 dd-MM-yyyy

mysql - 如何检查所选日期范围是否在另一个日期范围之间