0

これは、未定義の変数を示す 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");
}
?>
4

3 に答える 3

0

$id の値を見逃していますか?

またecho、スクリプトの結果をデバッグまたは確認するために使用できますが、使用することはできません。header

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

于 2012-04-10T09:26:25.910 に答える
0

どの変数が未定義であるかについて、より具体的に説明してください。

あなたが投稿$usernameしたコードでは、結果を返す$password場合にのみ設定され$resultます。そうでない場合、whileループは実行されないため$username$password設定されることはありません。

また$id、質問に含めたコードの外で設定されていない限り、それが設定されているようにも見えません。

お役に立てれば :)

于 2012-04-10T09:26:49.837 に答える
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");
    }
    ?>
于 2012-04-10T09:25:37.560 に答える