我试图让网站从我的数据库中读取一个表,但它只显示了我表的最后一行。此表用于测试,以了解如何读取我的数据库
我要做的是当用户名创建时,表将被更新并显示在网站上。
在stackoverflow中搜索正确答案,但没有任何结果。我做错什么了?
这是我的代码:

  <body>

  <?php
    $host="localhost"; // Host name
    $username=""; // Mysql username
    $password=""; // Mysql password
    $db_name="test"; // Database name
    $tbl_name="members"; // Table name

    $conn = new mysqli($host, $username, $password, $db_name);

    // check connection
    if ($conn->connect_error) {
      trigger_error('Database connection failed: '  . $conn->connect_error, E_USER_ERROR);
    }

    //select rows
    $sql= 'SELECT id, username, country FROM members';
    $result = mysqli_query($conn, $sql);

   if (mysqli_num_rows($result) > 0)
   {
    // output data of each row
    while($row = mysqli_fetch_assoc($result))
    {
        $f1 = $row['id'];
        $f2 = $row['username'];
        $f3 = $row['country'];
    }
   } else {
    echo "0 results";
   }

mysqli_close($conn);
?>
    <table border="0" cellspacing="2" cellpadding="2">
    <tr>
      <td>
        <font face="Arial, Helvetica, sans-serif">id</font>
      </td>
      <td>
        <font face="Arial, Helvetica, sans-serif">username</font>
      </td>
      <td>
        <font face="Arial, Helvetica, sans-serif">country</font>
      </td>
    </tr>
    <tr>
      <td>
        <font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font>
      </td>
       <td>
        <font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font>
      </td>
       <td>
        <font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font>
      </td>
    <td>
  </body>

最佳答案

只输出最后一行。你在这里读每一行:

while($row = mysqli_fetch_assoc($result))
{
    $f1 = $row['id'];
    $f2 = $row['username'];
    $f3 = $row['country'];
}

但你把它们读入同样的变量。因此,每次循环迭代时,都会覆盖这些变量中以前的值因此,这些变量将只包含最后一行的数据。
将输出步骤也放入循环中。从结构上看,它应该是这样的:
/* output HTML table header here */
while($row = mysqli_fetch_assoc($result))
{
    $f1 = $row['id'];
    $f2 = $row['username'];
    $f3 = $row['country'];
    /* output HTML table row here */
}
/* output HTML table footer here */

关于php - MySQL仅显示最后数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31787557/

10-12 16:19
查看更多