繁体   English   中英

由2个用户同时更新mysql表数据

[英]updating mysql table data by 2 users at the same time

我正在使用以php作为服务器端的在线游戏android应用程序。 现在我被困在一个地方。

我希望2个用户都在线并且连接到同一个游戏时将玩一个游戏,连接后我要调用一个php URL,该URL将根据他们的emailid在单个表中更新两个用户的开始时间,如下在我的PHP代码中执行此操作-

$stmt = $conn->prepare("update user_game_status 
                        set game_score=?,time=? 
                        where emailid=? 
                        and game_id=? 
                        and gstatus=1 
                        and gplay_code=?");

$stmt->bind_param("sssss", $game_score,$time,$email,$game_id,$gplay_code);
$stmt->execute();

$rows=mysqli_affected_rows($conn);
$stmt->close();

但是我面临的问题是,时间仅针对1个用户进行更新,这意味着谁首先进入了游​​戏,他的时间就会更新,但是加入他的时间的第二个用户却不会更新。 会同时为两个用户调用该url。

谁能告诉我我所缺少的道路。 谢谢

user_game_status表的外观如何?

您可以对datetime timestamptimestamp使用自动更新,因此不必在查询中包括自动更新。 如果有人更改了该行,时间将自动更新。 更多信息: https : //dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html

例:

CREATE TABLE t1 (
  ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM