1

わかりましたので、いくつかの異なるコードを試して、私が望んでいることとすべきことを行っていないことを確認しました。私が持っているのは、ユーザーが選択した行を変更できるフォームですが、テキストを変更すると次に、テキスト ボックスで送信ボタンをクリックすると、editdata.php に移動し、変更されません。

どんな助けでも大歓迎です!

フォーム:

<table>
<?php
mysql_connect("localhost", "x", "x") or die(mysql_error());
mysql_select_db("x") or die(mysql_error());
$order = "SELECT track_name, contents FROM track where track_id='".$_SESSION['user']['track_id']."'";
$result = mysql_query($order);
$row = mysql_fetch_array($result);


?>
<form method="post" action="edit_data.php">
<tr>
<th>Track Name</th>
<th>Contents</th>
</tr>
<tr>
<td><input type="text" name="track_name" id="track_name" value=" <? echo     ($row['track_name']); ?> "></td>
<td><input type="text" name="contents" id="contents" size="20" value=" <? echo ($row['contents']); ?> "></td>
</tr>
<tr>
<td align="right">
<input type="submit" name="submit value" value="Edit">
</td>
</tr>
</form>
</table>

edit_data.php

<?php ob_start();
 mysql_connect("localhost", "x", "x") or die(mysql_error());
 mysql_select_db("x") or die(mysql_error());

$track_name = $_POST['track_name'];
$contents = $_POST['contents'];

  $order = ("UPDATE track
            SET track_name = $track_name,
                contents = $contents 
            where track_id = '".$_SESSION['user']['track_id']."' ")
  or die(mysql_error());
  header("location:tracks");
?>
4

1 に答える 1

0

このようにできます。

$conn = mysqli_connect("localhost", "x", "x","db_name");

$query = "UPDATE track
        SET track_name = '".$track_name."',
            contents = '".$contents."' 
        where track_id = ".$_SESSION['user']['track_id'];

mysqli_query($conn, $query);

mysql は既に廃止されているため、mysqli_query を使用します。

注: track_id が整数の場合に合わせて where 句を編集します。引用符の中に入れる必要はありません。

于 2013-08-08T08:22:01.537 に答える