我有以下代码:
$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']; ?>
仍会显示旧值。只有在刷新页面后才会显示更新的信息。我可以通过回显元刷新更新后刷新页面,但我希望它仍然显示回声“你的信息已经更新”,如果我将其设置为刷新则不会发生。有没有解决方案?
答案 0 :(得分:1)
您需要重新查询数据库以重新填充$row
或明确将$row
变量设置为您的值(我建议重新填充它,只是为了安全起见。)
或echo $name
,而不是$row[name]
答案 1 :(得分:1)
数据库更新不是新选择的数据。
您有两个选择: