簡體   English   中英

sqli只從數據庫中獲取第一行

[英]sqli only taking the first row from database

我正在嘗試使用php來顯示添加到表單的所有注釋,但這僅是第一行。 知道為什么會這樣嗎?

    <?php

echo "Comments page";


$conn =  new mysqli('localhost', 'comment42_user', 'test42', 'comments');
$result = $conn->query("SELECT fname, lname, email, website, comment FROM comments;");
$row = $result->fetch_assoc();
echo "First name:" . $row['fname'];
echo " last name:" . $row['lname'];
echo " Email:" . $row['email'];
echo " Website:" . $row['website'];
echo " comment:" . $row['comment'];


?>

使用while語句:

while($row = $result->fetch_assoc())  {
   echo "First name:" . $row['fname'];
   echo " last name:" . $row['lname'];
   echo " Email:" . $row['email'];
   echo " Website:" . $row['website'];
   echo " comment:" . $row['comment'];
}

您需要使用while循環來顯示所有注釋。

嘗試

<?php

echo "Comments page";


$conn =  new mysqli('localhost', 'comment42_user', 'test42', 'comments');
$result = $conn->query("SELECT fname, lname, email, website, comment FROM comments;");
while($row = $result->fetch_assoc())
{
    echo "First name:" . $row['fname'];
    echo " last name:" . $row['lname'];
    echo " Email:" . $row['email'];
    echo " Website:" . $row['website'];
    echo " comment:" . $row['comment'];
}
?>

如果您期望多於1行,則將回聲放入一會兒或foreach循環中

<?php

echo "Comments page";


$conn =  new mysqli('localhost', 'comment42_user', 'test42', 'comments');
$result = $conn->query("SELECT fname, lname, email, website, comment FROM comments;");
while($row = $result->fetch_assoc())
{
echo "First name:" . $row['fname'];
echo " last name:" . $row['lname'];
echo " Email:" . $row['email'];
echo " Website:" . $row['website'];
echo " comment:" . $row['comment'];
}

?>

暫無
暫無

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

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