表单更新不更新相当困惑

时间:2013-08-08 08:13:06

标签: php forms updates

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

1 个答案:

答案 0 :(得分: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);

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

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