php - MySQL 更新无法使用 If 语句

标签 php mysql ajax database json

我正在使用 AJAX 和 JSON 更新数据库,但数据库中的值没有更新。

我知道发送了正确的值,并且返回了正确的值,但我的 MySQL 更新没有执行任何操作。它位于 if 语句内。

PHP

$youruname = mysql_real_escape_string($_POST['youruname']);
$selectedplayer = mysql_real_escape_string($_POST['selectedplayer']);

$flag = "";
$itStatus = "";

$checkit = mysql_query("SELECT it FROM login WHERE uname='$selectedplayer'");

while($row = mysql_fetch_array($checkit))
{
    $itStatus = $row['it'];
}

if($itStatus === "not it")
{
    mysql_query("UPDATE login SET it='not it' WHERE uname = '$youruname'");
    mysql_query("UPDATE login SET it='it' WHERE uname = '$selectedplayer'");

    $flag = "success";
}
else if($itStatus === "it")
{
    $flag = "nope";
}
else
{
    $flag = "error";
}


echo json_encode(array("message" => $flag, "tagged" => $selectedplayer));

最佳答案

这可能不是您问题的一部分,但您可以将其合并为一个,而不是执行两个更新语句,

UPDATE login SET it='not it' WHERE uname = '$youruname'
UPDATE login SET it='it' WHERE uname = '$selectedplayer'

进入

UPDATE login 
SET it = CASE WHEN uname = '$youruname' THEN 'not it' ELSE 'it' END
WHERE uname IN ('$youruname', '$selectedplayer')

关于php - MySQL 更新无法使用 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16884777/

相关文章:

php - 将 JS 正则表达式转换为 PHP 正则表达式

javascript - 如何使用 jquery 将编辑后的数据从表中保存回数据库

javascript - 如何将变量设置为 AJAX 响应数据?

Javascript执行代码顺序

php - 循环遍历以 JSON 编码的 PHP 数组

php - SQL不返回数据库结果

php - 如何使用 .htaccess 从非安全版本的站点重定向到安全版本的站点

Mysql查询帮助-时间限制不改变事件计数

mysql - 如何根据值选择要更新的列

mysql - MySQL Workbench 的导入问题