我已经设置了一个更新查询,它将更新在while循环中输入到文本字段中的值。这工作正常,直到多个数据从数据库循环。然后出于某种原因,只有循环中的最后一个数据会被更新,其余的将保持不变。PHP MySQL更新只更新一行
<form method="post" action="update.php">
<?php
$id = $_POST["id"];
$fname = $_POST["fname"];
$lname = $_POST["lname"];
$query= "SELECT * FROM list ORDER BY id ASC" ;
$result= mysql_query($query);
while($row = mysql_fetch_assoc($result)){
echo"<input type=\"hidden\" name=\"id\" value=" . $row['id'] . " />";
echo"<input type=\"text\" name=\"fname\" value=" . $row['fname'] . " />";
echo"<input type=\"text\" name=\"lname\" value=" . $row['lname'] . " />";
}
?>
<input type="submit" value="Save Changes" />
<?php
$sql = "UPDATE list SET fname = '{$fname}', lname = '{$lname}' WHERE id = {$id}";
$result = mysql_query($sql);
?>
</form>
您的更新不在循环中,为什么它应该更新多次? – j08691 2012-03-27 23:11:48