我有一个不同用户的表,但我希望能够限制用户更新自己信息的频率。在表中,时间戳在用户进行更改时自动更新。
页面在加载时会自动使用UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID'
更新其信息,但如果上次更新时间少于24小时,我希望忽略该信息。
我不确定这是否可以在UPDATE中解决,或者是否有更好的选择。
谢谢!
答案 0 :(得分:3)
假设您上次更新的列为last_updated
UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID' AND DATE_SUB(NOW(), INTERVAL 24 HOUR)>last_updated
答案 1 :(得分:1)
您需要向包含上次更新的数据库添加一列。我们假设它被称为last_update和DATETIME
格式。
$one_day_ago = strtotime('24 hours ago');
然后运行此查询:
UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID' AND last_update <= FROM_UNIXTIME('$one_day_ago')