为了账号安全,请及时绑定邮箱和手机立即绑定

注册日期验证

注册日期验证

PHP
MMTTMM 2023-03-11 15:46:57
我正在尝试删除未在 5 分钟内验证其帐户的用户。我有一个数据库,它会以这种格式自动添加注册日期:current_timestamp(6)例如:2020-05-12 17:38:33.308392.我有一个 php 脚本,它试图检查用户是否未经过验证并且 5 分钟还没有过去:$sql ="DELETE FROM users WHERE createdate < ? AND verified = ?;";    $stmt = mysqli_stmt_init($conn);    if(!mysqli_stmt_prepare($stmt, $sql)){        header("Location:../register.php?error=sqlerror");        exit();                                }    else{          $a = 1;        $date = date("U") + 300;        mysqli_stmt_bind_param($stmt, "ss", $date, $a);        mysqli_stmt_execute($stmt);    }我假设代码不起作用,因为 date("U") 函数不会生成相同的日期格式/类型。我应该如何解决这个问题?在数据库中输入 date("U") 函数,或者有没有办法让 sql 识别日期?
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

您可以将MySQL 间隔与 TIMESTAMPADD 和 CURRENT_TIMESTAMP 结合使用,以增加 5 分钟。


    DELETE FROM users WHERE 

  (TIMESTAMPADD(MINUTE,5,createdate)) < CURRENT_TIMESTAMP(6)

 AND verified = ?;

架构 (MySQL v5.7)


    Select * from `time`;


| id  | date                       |

| --- | -------------------------- |

| 1   | 2020-05-19 17:38:33.308392 |

| 2   | 2020-05-13 11:57:35.567192 |


---

查看完整回答
反对 回复 2023-03-11
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信