0

我正在编写密码恢复代码,它使用令牌和以date("Y-m-d H:i:s")格式存储的日期,例如2012-09-06 18:59:53。我使用下面的代码来检查用户 ID 的令牌密钥是否存在:

$sql = mysql_query("SELECT * FROM `recoveryemails` WHERE `UserID` = '$uid' and `Key` = '$key' and `expDate` >= '$curDate'");

我需要在检索 expDate 后添加另一个条件以检查它是否超过 3 天,使用 PHP。任何人都可以帮我解决那个 PHP 代码吗?

4

3 回答 3

3

在 MySQL 中要容易得多:WHERE ... AND expdate >= DATE_SUB(NOW(),INTERVAL 3 DAY)

但是如果你坚持用 PHP 做,你需要:

$threedaysago = strtotime("-3 days");
$expdate = strtotime($row['expDate']);
if( $expdate >= $threedaysago) { /* more recent than three days ago */ }
于 2012-09-03T21:49:25.350 回答
0

在 MySQL 中

expDate > DATE_SUB(NOW(), INTERVAL 3 Days)
于 2012-09-03T21:45:59.453 回答
0

只需将 MySQL 日期结果包装在 strtotime() 中并与 strtotime('- 3 days') 进行比较

于 2012-09-03T21:48:22.900 回答