我有一个PHP脚本:
$sql = $db->query("SELECT * FROM `users`");
$row = $sql->fetch();
foreach($row as $value){
echo $value . "<br>";
}
数据库'用户'包含29条记录,但我得到了这个:
答案 0 :(得分:4)
这是因为您只提取一条记录。
尝试使用以下代码:
$sql = $db->query("SELECT * FROM `users`");
$row = $sql->fetchAll();
foreach($row as $value){
print_r($value);
echo "<br>";
}
通过这种方式,您将获得一系列结果,因此您可以遍历数组而不是属性。
答案 1 :(得分:1)
$row = $sql->fetchAll();
fetchAll - 返回包含所有结果集行的数组
它将返回一个数组,因此删除echo $value
并使用print_r($value)
fetch - 从结果集中仅获取1行
获取下一行
答案 2 :(得分:0)
mysql fetch()
函数仅从结果集中获取1行的下一行,而mysql fetchAll()
函数返回包含所有结果集行的数组。
因此,使用fetchAll()
从结果集中获取所有记录,替换此行
$row = $sql->fetch();
与
$row = $sql->fetchAll();