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>

编辑数据.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);

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

注意:如果 track_id 是整数,我会编辑 where 子句以适应。无需将其放在引号内。

于 2013-08-08T08:22:01.537 回答