未定义的变量php更新mysql数据

时间:2012-04-10 09:21:03

标签: php mysql

这是尝试对mysql数据错误进行更新的代码,说明未定义的变量            

mysql_connect ("localhost", "root", "");
mysql_select_db("supplierdetails");
 $con = mysql_connect("localhost", "root", "");
   if (!$con)
    {
    die('Could not connect: ' . mysql_error());
    }
//Run a query 
    $result = mysql_query ("SELECT * FROM users WHERE id= '$id'");
    while ($row = mysql_fetch_array($result))
   {
$username=$row['username'];
$password=$row['password'];
  }
$query = "UPDATE users SET username = '$username', password = '$password' WHERE id           = '$id'";
$result = @mysql_query($query);
//Check whether the query was successful or not
if($result) {  
    header("message= Users Updated");
}else {
    die("Query failed");
}
?>

3 个答案:

答案 0 :(得分:0)

您使用了2 connect无需执行while而忘记了$id

    $con = mysql_connect("localhost", "root", "");
    mysql_select_db("supplierdetails");

       if (!$con)
        {
        die('Could not connect: ' . mysql_error());
        }

    $id = $_POST['id'];        
    $username=$_POST['username'];
    $password=$_POST['password'];

    $query = "UPDATE users SET username = '".$username."', password = '".$password."' WHERE id = '".$id."'";
    $result = mysql_query($query);
    //Check whether the query was successful or not
    if($result) {  
        echo "message= Users Updated";
    }else {
        die("Query failed");
    }
    ?>

答案 1 :(得分:0)

你错过了$ id值吗?

并且可以使用echo来调试或检查脚本结果,而不是header

http://php.net/manual/en/function.header.php

答案 2 :(得分:0)

请更具体地说明哪个变量未定义。

在您发布的代码中$username$password仅在$result返回结果时设置,如果没有,则while循环不会运行因此永远不会设置$username$password

同样$id看起来也不像是设置了,除非在你的问题中包含的代码之外设置了它。

希望这会有所帮助:)