假设我的 MySQL 数据库中有一个名为“Users”的表,该表有两列,分别为“用户名”和“密码”。有一次我想获取所有用户名,而不需要密码。我所做的是:
$query = mysql_query("SELECT Username FROM Users");
$result = mysql_fetch_array($query);
foreach($result as $r){
echo $r;
}
现在,我的用户表中只有两个条目,假设它们只是“User1”和“User2”。上面的代码没有向我显示这两个用户,而是仅显示第一个用户。我不明白为什么会发生这种情况或如何解决它。我还尝试通过在末尾添加 WHERE 1
来更改查询,但得到了相同的结果。
另一方面,当我在 PhpMyAdmin 中运行此查询时,它会返回 User1 和 User2。
有什么想法吗?谢谢。
最佳答案
请参阅此处的声明,
$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 中被删除。使用mysqli
或PDO
而是扩展名。这是why you shouldn't use mysql_*
functions .
关于php - 获取一列的所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39558312/