繁体   English   中英

SQL SELECT *只返回一行

[英]SQL SELECT * returns only one row

我正在设计一个网站,我写了一些显示用户列表的网页。 我曾经做过

$query = SELECT * FROM `table_users` WHERE `id`='.$id.'

然后用“while”增加ID,这样我就可以抓住所有用户。 但现在它太慢了,当ID之间存在差距时会出现故障。

所以我尝试了类似的东西

$query = SELECT `name` FROM `tbl_user`ORDER BY `id`

并显示用户列表

while ($i < sizeof(mysql_fetch_array(mysql_query($query)))){
<code to display an user>
$i++
}

但是mysql_fetch_array只返回一个用户,第一个用户(具有最小ID的用户)。 我希望它返回数组中的所有用户。 我该怎么办 ?

试试这样:

$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
     //$row is the row which was just gathered
}

请使用PDO或MySQLi而不是弃用的mysql。

尝试这个

$query = "SELECT `name` FROM `tbl_user` ORDER BY `id`";
$user_query = mysql_query($query);

$i=1;
while ($row = mysql_fetch_array($user_query)){
  echo $i." : ".$row['name']."<br>";
  $i++;
}

暂无
暂无

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

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