我正在嘗試刪除未在 5 分鐘內(nèi)驗證其帳戶的用戶。我有一個數(shù)據(jù)庫,它會以這種格式自動添加注冊日期:current_timestamp(6)例如:2020-05-12 17:38:33.308392.我有一個 php 腳本,它試圖檢查用戶是否未經(jīng)過驗證并且 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); }我假設(shè)代碼不起作用,因為 date("U") 函數(shù)不會生成相同的日期格式/類型。我應(yīng)該如何解決這個問題?在數(shù)據(jù)庫中輸入 date("U") 函數(shù),或者有沒有辦法讓 sql 識別日期?
1 回答

喵喵時光機
TA貢獻1846條經(jīng)驗 獲得超7個贊
您可以將MySQL 間隔與 TIMESTAMPADD 和 CURRENT_TIMESTAMP 結(jié)合使用,以增加 5 分鐘。
? ? DELETE FROM users WHERE?
? (TIMESTAMPADD(MINUTE,5,createdate)) < CURRENT_TIMESTAMP(6)
?AND verified = ?;
架構(gòu) (MySQL v5.7)
? ? Select * from `time`;
| id? | date? ? ? ? ? ? ? ? ? ? ? ?|
| --- | -------------------------- |
| 1? ?| 2020-05-19 17:38:33.308392 |
| 2? ?| 2020-05-13 11:57:35.567192 |
---
- 1 回答
- 0 關(guān)注
- 113 瀏覽
添加回答
舉報
0/150
提交
取消