我已经测试过,发现正确的数据被发送,但PHP更新数据库中的字段即处理更新无法正常工作。
发生的一切就是我在条件中得到了else响应。
我需要根据用户输入是什么来更新数据库。
就像我说的,我得到的回应是else回应。
$youruname = $_POST['youruname'];
$selectedplayer = $_POST['selectedplayer'];
$selPlayerUname = $_POST['selPlayerUname'];
$flag = "";
$itStatus = "";
$checkit = mysqli_query($conn,"SELECT it FROM login WHERE uname='$selPlayerUname'");
while($row = mysqli_fetch_array($checkit))
{
$itStatus = $row["it"];
}
if($itStatus == "not it")
{
mysqli_query("UPDATE login SET it = CASE WHEN uname = '$youruname' THEN 'not it' ELSE 'it' END WHERE uname IN ('$youruname', '$selPlayerUname')");
$flag = "success";
}
else if($itStatus == "it")
{
$flag = "nope";
}
else
{
$flag = "error";
}
echo json_encode(array("message" => $flag, "tagged" => $selectedplayer));
mysqli_free_result($checkit);
mysqli_close($conn);
+0
的var_dump($ iStatus)这是什么返回 –
+0
警告:你的查询很容易受到SQL注入。请切换到[已准备好的语句](http://bobby-tables.com/php.html)。 –
+0
如果您的更新查询中有'SET it = CASE',如果CASE是一列没有问题,但是,如果不是?另外,你的代码很容易被sql注入。了解如何使用准备好的语句。 –