php - 获取一列的所有条目

标签 php mysql

假设我的 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 中被删除。使用mysqliPDO而是扩展名。这是why you shouldn't use mysql_* functions .

关于php - 获取一列的所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39558312/

相关文章:

php - 查找字符串中是否存在子字符串

php - OctoberCMS 如何使用插件扩展中的字段创建自定义用户注册表单

php - MYSQL插入记录跳过ids(自动递增)

mysql - 更改 MySQL 表以在列上添加注释

mysql - 不同位置的 Docker django mysql.sock

php - 搜索mysql数据库

php - INSERT查询PHP e mySql引起的奇怪错误

PHP:如何使用传输编码读取 POST 正文:分块,无内容长度

php - 如何使 PHP 代码保持事件状态?

Mysql在1中进行3个查询并提高性能