我正在编写密码恢复代码,该代码使用以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后添加另一个条件,以使用PHP检查它是否超过3天。有人能帮我写PHP代码吗?
在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 */ }
只需将MySQL日期结果包装在strtotime()中,并与strtottime("-3天")进行比较
在MySQL 中
expDate > DATE_SUB(NOW(), INTERVAL 3 Days)