如何使用PHP更新mySQL,但仅限于上次更新超过24小时的情况?

时间:2011-07-24 17:45:16

标签: php mysql database

我有一个不同用户的表,但我希望能够限制用户更新自己信息的频率。在表中,时间戳在用户进行更改时自动更新。

页面在加载时会自动使用UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID'更新其信息,但如果上次更新时间少于24小时,我希望忽略该信息。

我不确定这是否可以在UPDATE中解决,或者是否有更好的选择。

谢谢!

2 个答案:

答案 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')