处理行动两次 - 如何防止?

时间:2011-06-04 08:30:34

标签: php mysql database

我遇到了问题。 我有自己的浏览器游戏,有像

这样的东西
SELECT * FROM attack WHERE proc = 0 AND endtime < $current_time

它可行,但问题是当有超过10个用户在线时,2个用户同时点击的可能性很大=攻击正在进行两次。但是,我不想增加查询计数以使“列”例如“已锁定”。有人知道解决方案吗?

1 个答案:

答案 0 :(得分:4)

我认为是......

而不是只存储00:00:00的工作,我认为你可以更准确地存储日期时间,如00:00:00.00000(毫秒)。并发行动的可能性将大大降低。

因此,如果你比较$ current_time,那么$ current_time也必须是00:00:00.00000格式

here是如何以毫秒计算时间的方法

注意:如果您不想要'T',可以将日期(“Y-m-d \ TH:i:s”)更改为日期(“Y-m-d H:i:s”)