我正在使用php作为服务器端的在线游戏android应用程序。 现在我被困在一个地方。
我希望2个用户都在线并且连接到同一个游戏时将玩一个游戏,连接后我要调用一个php url,该URL将根据他们在单个表中更新两个用户的开始时间emailids,下面在我的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个用户更新时间,这意味着谁首先进入了游戏,他的时间就会更新,但是加入他的时间的第二个用户却不会更新。会同时为两个用户调用该网址。
谁能告诉我我所缺少的道路。谢谢
答案 0 :(得分:0)
user_game_status
表的外观如何?
您可以对datetime
和timestamp
使用自动更新,因此不必在查询中包括自动更新。如果有人更改了该行,时间将自动更新。更多信息: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
);