Php 从“用户”中选择*只返回第一个用户

Php 从“用户”中选择*只返回第一个用户,php,mysql,Php,Mysql,我有一个php脚本: $sql = $db->query("SELECT * FROM `users`"); $row = $sql->fetch(); foreach($row as $value){ echo $value . "<br>"; } 数据库“用户”包含29条记录,但我得到了以下信息: 这是因为您只获取一条记录 请像这样尝试您的代码: $sql = $db->query("SELECT * FROM `users`"); $row =

我有一个php脚本:

$sql = $db->query("SELECT * FROM  `users`");
$row = $sql->fetch();
foreach($row as $value){
    echo $value . "<br>";
}
数据库“用户”包含29条记录,但我得到了以下信息:


这是因为您只获取一条记录

请像这样尝试您的代码:

$sql = $db->query("SELECT * FROM  `users`");
$row = $sql->fetchAll();
foreach($row as $value){
    print_r($value);
    echo "<br>";
}

这样,您将获得一个结果数组,因此您可以在数组上循环,而不是在属性上循环。

这是因为您只获取一条记录

请像这样尝试您的代码:

$sql = $db->query("SELECT * FROM  `users`");
$row = $sql->fetchAll();
foreach($row as $value){
    print_r($value);
    echo "<br>";
}
通过这种方式,您将获得一个结果数组,因此您可以在该数组上循环,而不是在属性上循环。

mysql fetch函数只从结果集中获取1行下一行,而mysql fetchAll函数返回一个包含所有结果集行的数组

因此,使用fetchAll从resultset获取所有记录,替换此行

$row = $sql->fetch();

mysql fetch函数只从结果集中获取下一行,而mysql fetchAll函数返回一个包含所有结果集行的数组

因此,使用fetchAll从resultset获取所有记录,替换此行

$row = $sql->fetch();

返回单个元素。相反,尝试使用

fetchAll-返回包含所有结果集行的数组

它将返回一个数组,因此,删除echo$value并使用print\r$value

fetch-仅从结果集中的1行获取下一行

返回单个元素。相反,尝试使用

fetchAll-返回包含所有结果集行的数组

它将返回一个数组,因此,删除echo$value并使用print\r$value

fetch-仅从结果集中的1行获取下一行


您使用的是什么数据库适配器?PDO/MySQLi?我正在使用PDO适配器。使用fetchAll而不是fetch。您使用的是什么数据库适配器?PDO/MySQLi?我正在使用PDO适配器。使用fetchAll而不是fetch。