更新查询无效

时间:2013-01-20 03:26:35

标签: php mysql json

<?php
session_start();
include('MySQL.php');

$Name = $_SESSION['Name'];
$Check = 'SELECT * FROM Users WHERE FName = "'.$Name.'"';
$Query = mysql_query($Check);

if($Row = mysql_fetch_assoc($Query))
{
    $Admin = $Row['Admin'];

    if($Admin == 1)
    {
        $ID = $_POST['ID'];
        $Username = $_POST['User'];
        $EMail = $_POST['EMail'];
        $FName = $_POST['FName'];
        $LName = $_POST['LName'];
        $IP = $_POST['IP'];
        $Active = $_POST['Active'];
        $Admin = $_POST['Admin'];

         mysql_query('UPDATE Users SET Username="'.$Username.'", EMail="'.$EMail.'", FName="'.$FName.'", LName="'.$LName.'", IP="'.$IP.'", Active="'.$Active.'", Admin="'.$Admin.'"');
        $Val['Msg'] = 'Those Values Have Been Updated';
    }
    else
    {
        $Val['Re'] = 'Home.php';    
    }
}

echo json_encode($Val);
?>

每次运行查询都没有任何反应。我知道这不是我的jQuery,所以不要担心,因为我三重检查,我的所有变量都很好。我的MySQL行标题周围的引号没有做任何事情,如果我把它们取下或穿上它们。我已经尝试了几个小时,但似乎无法找到解决方法!

2 个答案:

答案 0 :(得分:1)

我相信这是查询结束时的ID。当它很可能是整数并且不应该有引号时,你在它周围使用引号。

- 编辑:似乎代码已更改且WHERE部分不再存在。

答案 1 :(得分:0)

您必须按照以下几个步骤进行调试。

  1. 回显“UPDATE Users SET Username="'.$Username.'", EMail="'.$EMail.'", FName="'.$FName.'", LName="'.$LName.'", IP="'.$IP.'", Active="'.$Active.'", Admin="'.$Admin.'"'并查看查询是否正确。
  2. 复制查询并在PHPMyAdmin&amp;查看查询是否被执行并更新所需的行。
  3. 您的查询缺少where子句。因此,每次执行查询时,您的整个表格都会更新。
  4. 尝试以下查询。
  5. "UPDATE Users SET Username='".$Username."', EMail='".$EMail."', FName='".$FName."', LName='".$LName."', IP='".$IP."', Active='".$Active."', Admin='".$Admin."' "