亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查用戶是否有過去 1 小時的 X 條記錄?

如何檢查用戶是否有過去 1 小時的 X 條記錄?

PHP
慕工程0101907 2022-01-02 14:51:49
我想檢查用戶在過去一小時內在我的 MySQL 數據庫中是否有 5 條記錄。這就是我現在的做法:$link = mysqli_query($link, "SELECT * FROM find_points WHERE timestamp > '.time()-3600.' AND user_id = '1' ORDER BY id DESC");if(mysqli_num_rows($link) >= 5) {   echo 'more than 5 results';}看起來它應該工作,但它不起作用......
查看完整描述

2 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

請使用以下查詢

SELECT * FROM find_points WHERE TIMESTAMPDIFF( hour,  timestamp , now() ) > 1  AND user_id = '1' ORDER BY id DESC

您可以閱讀有關TimestampDiff 的手冊

它可用于以各種格式運行 2 個日期之間的差異。

請檢查SqlFiddle上的Demo 它顯示了 TimestampDiff 如何返回結果,您可以在 WHERE 子句中使用相同的結果。

更新

根據您的評論,時間戳存儲為 Unix 時間戳,您可以使用以下查詢:

SELECT * FROM find_points WHERE TIMESTAMPDIFF( hour,  FROM_UNIXTIME(timestamp) , now() ) > 1  AND user_id = '1' ORDER BY id DESC

FROM_UNIXTIME將您的 UNIX 時間戳轉換為日期時間格式。然后,您可以將其傳遞給TIMESTAMPDIFF它將計算差異并返回小時數。

希望這可以幫助。


查看完整回答
反對 回復 2022-01-02
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

“SELECT * FROM find_points WHERE timestamp > DATE_ADD(NOW(), INTERVAL 1 HOUR) AND user_id = '1' ORDER BY id DESC”


查看完整回答
反對 回復 2022-01-02
  • 2 回答
  • 0 關注
  • 199 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號