我已经在堆栈溢出中看到了这个问题,但无论我采用哪种方式,我似乎都无法使其工作。让我首先展示我的代码
$result = $db->query("SELECT 1 FROM mybb_tnybracket WHERE tid = '$id' AND player1 IS NOT NULL AND player2 IS NULL");
if (mysqli_fetch_row($result)) {
$query23 = $db->query("UPDATE mybb_tnybracket SET player1 = '$uidgt' WHERE tid = '$id' AND player2 is NULL AND player1 is NULL ORDER BY ID LIMIT 1;")or die(mysqli_error());
echo "update player 1";
} else {
$query22 = $db->query("UPDATE mybb_tnybracket SET player2 = '$uidgt' WHERE tid = '$id' AND player1 IS NOT NULL AND player2 IS NULL LIMIT 1")or die(mysqli_error());
echo "update player 2";
}
}
以下是我的数据库的快速预览:
你可以看到player1和player2都是null。但是,一旦我使用我的代码,它应该首先更新播放器1。然后我的if语句获取任何表格,其中玩家1有一个值而玩家2仍然为空,那么它就可以填充玩家2.但是,这不会发生,我尝试注册的所有内容都是文本“更新播放器2“但没有任何反应。有人可以帮忙吗?
答案 0 :(得分:0)
如果我没有误解你正在尝试做什么,我认为这是一个简单的查询
$result = $db->query("UPDATE mybb_tnybracket SET player1 = '$uidgt',player2 = '$uidgt' WHERE tid = '$id' AND player2 is NULL AND player1 is NULL");
会正常工作。