我需要使用当前日期和创建日期来计算链接到期日期,以检查链接是否过期。 我正在以这种格式向数据库添加日期:
$expires = date("U") + 1800;
并尝试这样计算:
$currentDate = date("U");
$result = $pdo->prepare("SELECT * FROM pwdreset WHERE pwdResetSelector = :pwdResetSelector AND pwdResetExpires >= :pwdResetExpires");
$result->bindValue(':pwdResetSelector', $selector);
$result->bindValue(':pwdResetExpires ', $currentDate);
$result->execute();
但是它不能计算正确,因此将我重定向到错误页面,而不是显示表单以填充详细信息。
答案 0 :(得分:0)
如果您要查询的是从数据库中返回过期值,我想您需要做的就是将等式设置为小于或等于。
如果您在数据库中将到期日期设置为date(U) + 1800
,则显然这是将来的日期。
因此,如果今天的日期大于pwdResetExpires
日期,则应该重新设置,因为它已经过期。
您的查询所说的是if the pwdResetExpires date is greater than today's date
。这意味着它没有过期,因为今天的日期仍未过pwdResetExpires
日期。
好像您在查询pwdResetExpires is less than today's date
中说的那样,它已经过期。
SELECT * FROM pwdreset WHERE pwdResetSelector = :pwdResetSelector AND pwdResetExpires <= :pwdResetExpires