好的,所以我在这里查看了很多类似的问题,但似乎没有一个有效。如果我目光短浅或缺乏正确搜索的能力,我会提前道歉。
所以我需要做的是检查TIMESTAMP
我的 MySQL 数据库中的 a ,即 15:55:13 是否不早于脚本运行时当前时间的 1 小时。
如果我错过了任何需要的代码,请告诉我。
到目前为止我所拥有的:
$result = mysqli_query($link, "SELECT *
FROM web_users
WHERE pass_reset_token='".$token."'
AND last_pass_reset < last_pass_reset
INTERVAL 1 HOUR")
or die(mysqli_error($link));
我之前尝试过的:
$result = mysqli_query($link, "SELECT *
FROM web_users
WHERE pass_reset_token='".$token."'
AND last_pass_reset < NOW()-INTERVAL 1 HOUR")
or die(mysqli_error($link));
还:
$result = mysqli_query($link, "SELECT *
FROM web_users
WHERE pass_reset_token='".$token."'
AND last_pass_reset < DATE_SUB(CURTIME(),
INTERVAL 1 HOUR)")
or die(mysqli_error($link));
所以我的理解是,我需要匹配以确保任何操纵的 SQL 时间不小于last_pass_reset也不大于 1 小时。
谢谢。
编辑::
这是更新的 sql 查询,以确保我输入正确。
// Perform a database search using the paramteres of the global variable
$result = mysqli_query($link, "SET @scriptStartTime = CONCAT(CUR_DATE(), ' ', CUR_TIME())
SELECT *
FROM web_users
WHERE pass_reset_token='".$token."'
AND last_pass_reset > DATE_SUB(@scriptStartTime, INTERVAL 1 HOUR)")
or die(mysqli_error($link));