返回一个结果的MySQL查询

时间:2014-09-06 04:45:45

标签: php mysql

我有一个允许我将数据输入数据库的表单。当提交表单中的信息时,还返回以让用户知道数据已成功上载。目前,正在返回数据库中的所有数据。理想情况下,我只希望返回当时提交的数据(应返回一个结果)。是否有允许这个的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))仍会返回数据库中的所有数据,而不是只返回一个结果。

2 个答案:

答案 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,以确保正确输入。