繁体   English   中英

MySQL只返回一个结果。 我很困惑

[英]MySQL only returning one result. Im Baffled

这是te代码:

<?php

//Starting session

session_start();

//Includes mass includes containing all the files needed to execute the full script
//Also shows homepage elements without customs

require_once ('includes/mass.php');

$username = $_SESSION['username'];

if (isset($username))

{   

//Query database for the users networths

$sq_l = "SELECT * FROM user";

$sql_query_worth = mysql_query($sq_l);

while ($row = mysql_fetch_assoc($sql_query_worth))

      {

         $dbusername = $row['username'];


      } 

      echo $dbusername;

}
?>

您正在循环之外回显。 因此,它只是在回显最后一行。 将那个echo语句放入while循环中。

如果要打印所有用户名,则echo语句应位于while循环内,例如。

while ($row = mysql_fetch_assoc($sql_query_worth))
  {
    $dbusername = $row['username'];
    echo $dbusername;
  }

您正在使用这部分代码:

while ($row = mysql_fetch_assoc($sql_query_worth))
{
     $dbusername = $row['username'];
} 

echo $dbusername;

这意味着将仅echo最后一个用户的名称

  • 在循环的每次迭代中,用户名都存储在$dbusername
  • 但是该变量的内容只会在循环之后回显
    • 这意味着将仅回显$row['username']的最后一个值。


如果要输出每个用户名, 则应将echo放在循环中 ,而不要放在循环之后:

while ($row = mysql_fetch_assoc($sql_query_worth))
{
    $dbusername = $row['username'];
    echo $dbusername . '<br />';
} 

并且,因此,每个用户的每个名称都应echo ;-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM