MySQL更新无法使用If语句

时间:2013-06-02 16:24:48

标签: 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));

2 个答案:

答案 0 :(得分:1)

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

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')

答案 1 :(得分:0)

好的,所以我明白了。

我正在调用数据库,试图选择一个不存在的值。

基本上,我一直在寻找错误的价值。

我的代码是正确的。

对于提供帮助的每个人,谢谢。