2

这是我的测试表格(已删除表格的链接)如果您单击更新票证链接,它将带您进入一个页面以向记录中添加其他信息。我看到该记录的 id 传递给浏览器 url 中的表单,因为 url 的末尾显示 ?id=10 或该记录的任何 id 号。这就是我卡住的地方,我无法更新记录,我在表单中输入信息并单击更新按钮,它告诉我它添加了 1 条记录,但它没有将信息添加到 MySQL 和我也不会出现任何错误。所以这是我用来更新记录的代码:

<?php

include 'db_connect.php';

$city=$_POST['city'];
$state=$_POST['state'];
$zip=$_POST['zip'];
$id=$_REQUEST['id'];

 mysql_query("UPDATE `test` SET 
                                 `city` = '$city',
                                 `state` = '$state',
                                 `zip` = '$zip',
                           WHERE `id` = '$id'") 

?>

我在表单中添加了一个名为“id”的隐藏输入字段,认为这是错误的,但没有改变。我究竟做错了什么?我需要做什么才能传递身份证?谢谢!

为我的更新表单添加代码:

<html>
<body>

<form action="update.php" method="post">
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>">
City <input type="text" name="city">
State<input type="text" name="state">
Zip <input type="text" name="zip">
<input type="submit" value="update">
</form>

</body>
</html> 

修改后的更新代码:

<?php

include 'db_connect.php';

$city=$_POST['city'];
$state=$_POST['state'];
$zip=$_POST['zip'];
$id=$_POST['id'];




 mysql_query("UPDATE `test` SET      `city` = '$city', `state` = '$state', `zip` = '$zip' WHERE `id` = '$id'");



?>
4

2 回答 2

5

您需要在表格中发布 id。

//Add this hidden field inside form to store and post id
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>"/>

发布表单时,该 ID 会丢失。所以我们需要存储它并与表单一起发送。

// remove the comma before where in this line
mysql_query("UPDATE `test` SET      `city` = '$city', `state` = '$state', `zip` = '$zip' WHERE `id` = '$id'");
于 2013-05-31T06:15:32.980 回答
2

您正在通过 GET 方法传递 id。所以使用 $_GET['id] 来获取 id。将此 id 分配给隐藏字段。喜欢:<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>"/>

在更新页面。$id=$_POST['id'];//通过post方式获取id值

 mysql_query("UPDATE `test` SET      `city` = '$city', `state` = '$state', `zip` = '$zip', WHERE `id` = '$id'");
于 2013-05-31T06:20:49.577 回答