我有一个允许我将数据输入数据库的表单。当提交表单中的信息时,还返回以让用户知道数据已成功上载。目前,正在返回数据库中的所有数据。理想情况下,我只希望返回当时提交的数据(应返回一个结果)。是否有允许这个的mysql查询?这就是我目前拥有的:
$query = "SELECT * FROM residents";
$result = mysql_query($query);
while($person = mysql_fetch_array($result)) {
echo "<h3>" . $person['FirstName'] . "</h3>";
echo "<p>" . $person['LastName'] . "</p>";
echo "<p>" . $person['Address'] . "</p>";
echo "<p>" . $person['Birthday'] . "</p>";
echo "<p>" . $person['FormerResidence'] . "</p>";
echo "<p>" . $person['Career'] . "</p>";
echo "<p>" . $person['Education'] . "</p>";
echo "<p>" . $person['SpecialInterests'] . "</p>";
echo '<p><img src="upload/' . $person['Picture'].'" width="70" height="70"/></p>';
}
?>
<?php
我也尝试过:while($ person = mysql_fetch_assoc($ result))仍会返回数据库中的所有数据,而不是只返回一个结果。
答案 0 :(得分:2)
为什么不在提交表单时从你加载的$ _POST或$ _GET数组中取出它?
示例:
<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"], ENT_QUOTES, "utf-8"); ?>">
<input type="text" name="FirstName">
<input type="text" name="LastName">
etc...
<input type="submit" name="form_btn">
</form>
然后在你的PHP中,你可以回显你提交表单时获得的$ _POST数组变量:
<?php
//You can put your code that inserts all the form values into the database here.
//And then you can echo out the form data:
if (isset($_POST['form_btn'])) {
echo "<h3>" . $_POST['FirstName'] . "</h3>";
echo "<p>" . $_POST['LastName'] . "</h3>";
}
?>
此外,跳上mysqli列车也是个好主意。原来的mysql函数已被弃用。
答案 1 :(得分:1)
您即将收到大量回复,但您应该使用非弃用的数据库方法,例如mysqli。这也将为您带来的优势之一是能够使用->insertid从上一个查询中获取插入ID。然后,您可以使用它来查询数据库中的确切ID,以确保正确输入。