gpt4 book ai didi

php - 查询将列值设置为 0,而它应该是 10

转载 作者:行者123 更新时间:2023-11-29 06:25:11 25 4
gpt4 key购买 nike

我正在创建一个大厅系统,我正在这样做,以便它可以获取玩家数量并向其添加一个,如果它是 10,它将执行一个不同的查询而不是正常的查询。问题是,我将其中一个值设置为 10 并将其设置为 0 而没有完成查询的另一部分。

代码:

    $new_playercount = $match_playercount + 1;
if($new_playercount == 10) {
$query = "UPDATE queue SET match_playercount='".$new_playercount."' AND match_admin_needed='1' WHERE match_id='".$match_id."'";
try {
$stmt = $dbConnect->prepare($query);
$result = $stmt->execute();
}
catch(PDOException $ex) {
die();
}
header('Location: view-lobby/index.php?match_id='.$match_id);
die();
} else {
$query = "UPDATE queue SET match_playercount='".$new_playercount."' WHERE match_id='".$match_id."'";
try {
$stmt = $dbConnect->prepare($query);
$result = $stmt->execute();
}
catch(PDOException $ex) {
die();
}
header('Location: view-lobby/index.php?match_id='.$match_id);
die();
}

如果您需要其他东西,请告诉我,我会尽力提供。但我通过将玩家数量设置为 9 来测试它,然后加入大厅,这将加 1,它应该设置为 10 并且 match_admin_needed 设置为 1,但两者都没有,它实际上将玩家数量重置为 0 ...

最佳答案

因为您的第一个查询不正确。

UPDATE queue SET match_playercount='".$new_playercount."' AND match_admin...
^

如果您更新 2 列,则必须在它们之间使用逗号 (,),而不是 AND,后者会导致比较。

当您使用 AND 时,它会比较两侧,然后返回一个 bool 结果,然后将其存储为 0 或 1,而不是更新您的 2 列。

关于php - 查询将列值设置为 0,而它应该是 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31481684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com