提交后更新显示旧数据的查询

时间:2012-10-06 20:18:31

标签: php mysql

我有以下代码:

$sql = mysql_query("UPDATE users SET name='$name' WHERE email='$email'") or die(mysql_error());
echo "<h4>Your information has been updated</h4><br />";
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <p>
        <label for='name'>Name</label><br /><br />
        <input class="input-text required" name="name" type="text" value="<?php echo $row[name]; ?>" />
    </p>
    <p><input type="submit" name="update" value="Update" /></p>
</form>

单击“更新”后,它会更新数据库中的信息,但<?php echo $row['name']; ?>仍会显示旧值。只有在刷新页面后才会显示更新的信息。我可以通过回显元刷新更新后刷新页面,但我希望它仍然显示回声“你的信息已经更新”,如果我将其设置为刷新则不会发生。有没有解决方案?

2 个答案:

答案 0 :(得分:1)

您需要重新查询数据库以重新填充$row或明确将$row变量设置为您的值(我建议重新填充它,只是为了安全起见。)

echo $name,而不是$row[name]

答案 1 :(得分:1)

数据库更新不是新选择的数据。

您有两个选择:

  • 更新后,重新选择数据
  • 而不是将行写回表单,将回发的值写回