簡體   English   中英

MySQL查詢返回一個結果

[英]MySQL query that returns one result

我有一個表格,可以將數據輸入數據庫。 提交表單中的信息后,還將返回該信息,以使用戶知道數據已成功上傳。 目前,正在返回數據庫中的所有數據。 理想情況下,我只希望返回當時提交的數據(應該返回一個結果)。 是否有一個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))仍然返回數據庫中的所有數據,而不僅僅是返回一個結果。

提交表單時,為什么不從加載它的$ _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函數已被棄用。

您將收到大量這樣的響應,但是您應該使用未棄用的數據庫方法,例如mysqli 這還將為您帶來的好處之一是可以使用-> insertid從上一次查詢中獲取插入ID。 然后,您可以使用它來查詢數據庫中的確切ID,以確保輸入正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM