У меня проблема с моим запросом.
поля в базе данных (userid, code, timestamp
)
Я хочу проверить в этом коде, существует ли идентификатор пользователя и соответствующий код, но который был вставлен менее чем за один день, в противном случае отображается сообщение "ссылка устарела"
Мой код работает без этой строки TIMESTAMPDIFF(DAY, CURTIME(), timestamp) < 1")
.
В данный момент ничего не возвращается с условием отметки времени
"select userid, code from password_reset where userid=? and code=? and TIMESTAMPDIFF(DAY, CURTIME(), timestamp) < 1"
Есть какая-то проблема в этом коде? По сути, моя идея такова: если у метки времени больше суток, верните пользователю ошибку.
мой скрипт (проблема только в условии отметки времени в запросе)
if (checkBd ($sql, $db, $user, $codePass)){
$user = (int)mysqli_real_escape_string($db, $userid);
$codePass = mysqli_real_escape_string($db, $_GET['code']);
($sql = $db->prepare("select userid, code from password_reset where userid=? and code=? and TIMESTAMPDIFF(DAY, CURTIME(), timestamp) < 1"));
$sql->bind_param('ss', $user, $codePass);
$sql->execute();
$sql->bind_result($user, $codePass);
if ($sql->fetch()) {
$_SESSION['u_name']= sha1($user);
header("location: updatePass.php");
return true;
}
}
$sql->close();
$db->close();