2

リンクがあります<a href='test.php?action=edit&id=$id'>Edit</a>

ユーザーがこのリンクをクリックすると、更新フォームが表示され、更新することができます

$action=="edit";

この場合に実行されるアクションは更新する必要がありますが、コード内に存在しません。

if ($action == "edit"){ 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $email = $_POST['email'];

    $result=mysql_query("UPDATE user SET first_name='$first_name',last_name='$last_name',email='$email' where id = '$id'"); 
     $sql = mysql_query($result) or die (mysql_error());
}
sql=mysql_query("select * from user where id='$id'");

   while ($row=mysql_fetch_array($sql)) 
 {                                                                                                                                                                                                                                                      
$id = $row['id'];
$first_name = $row['first_name'];
$last_name = $row['last_name'];
$email = $row['email'];
              $result=mysql_query("UPDATE user SET first_name='$first_name',last_name='$last_name',email='$email' WHERE id=$id");
              $sql = mysql_query($result) or die (mysql_error());

ho("<form name='edit' method='post' action='?action=edit'>");
echo("<input type='hidden' name='?action=edit'>");
echo("<table class=main cellspacing=0 cellpadding=5 width=50%>");
echo("<tr><td>Name: </td><td align='right'><input type='text'  name='first_name' value='$first_name'></td></tr>");
echo("<tr><td>Surname: </td><td align='right'><input type='text' name='last_name' value='$last_name'></td></tr>");
echo("<tr><td>Email: </td><td align='right'><input type='text'  name='email' value='$email'></td></tr>");
echo("<tr><td></td><td><div align='right'><input type='submit'></div></td></tr>");
echo("</table>");
 }
}

このクエリを取得して値を返す方法はありますか...

私はこの行を疑っています

$result=mysql_query("UPDATE user SET first_name='$first_name',last_name='$last_name',email='$email' WHERE id=$id");
                  $sql = mysql_query($result) or die (mysql_error());

原因を追加すると

where id = '$id'

SQL 構文にエラーがあります。1 行目の「1」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

が削除された場合

where id = $id

「クエリが空でした」が返されます 助けが必要です 私はこれに取り組んでいますが、正しく機能していません

4

2 に答える 2

1

これの代わりに:

$result=mysql_query("UPDATE user SET first_name='$first_name',last_name='$last_name',email='$email' where id = '$id'"); 
$sql = mysql_query($result) or die (mysql_error());

これを行うだけです:

 $sql = "UPDATE user SET first_name='$first_name',last_name='$last_name',email='$email' where id = '$id'"); 
 mysql_query($sql) or die (mysql_error());
于 2013-05-18T20:25:08.460 に答える