获取一列的所有条目

时间:2016-09-18 13:47:15

标签: php mysql

假设我的MySQL数据库中有一个名为“Users”的表,该表有两列名为“Username”和“Password”。有一次,我想获得所有用户名,没有密码。我做的是:

$query = mysql_query("SELECT Username FROM Users");
$result = mysql_fetch_array($query);
foreach($result as $r){
     echo $r;
}

现在,我的Users表中只有两个条目,假设它们只是'User1'和'User2'。上面的代码,而不是显示他们两个,只显示第一个用户。我无法理解为什么会发生这种情况或如何解决它。我也尝试在最后添加WHERE 1来改变查询,但我得到了相同的结果。

另一方面,当我在PhpMyAdmin中运行此查询时,它返回User1和User2。

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

请在此处查看此声明,

$result = mysql_fetch_array($query);

您只从结果集中获取一行。使用while()循环遍历结果集以显示所有用户名,如下所示:

$query = mysql_query("SELECT Username FROM Users");
while($result = mysql_fetch_array($query)){
    echo $result['Username'] . '<br />';
}

旁注:不要使用mysql_数据库扩展,它们在PHP 5.5.0中已弃用,并已在PHP 7.0.0中删除。请改用mysqliPDO扩展程序。这是why you shouldn't use mysql_* functions