表单更新不更新相当混乱


form to update not updating pretty confused

好的,所以我尝试了几段不同的代码,发现它没有做我想做的和应该做的,我有一个表单,允许用户更改他们选择的行,但当你更改文本框中的文本时,单击提交按钮,然后转到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");
?>

您可以这样做。

$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);

我使用mysqli_query,因为mysql已经被弃用了。

注意:如果track_id是整数,我会编辑where子句。不需要把它放在引号里。