为什么PDO fetch()只返回第一行? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

当我选择并打印它时,它只显示第一行,查询是相同的。为什么它只返回一行?

PHP代码:

$e = $db->query("SELECT `username`, `membership` FROM `users` WHERE `expire` != ''")->fetch();
print_r($e);

PHP的结果:

Array ( [username] => ItzBruney05 [0] => ItzBruney05 [membership] => 300 [1] => 300 ) 

在phpMyAdmin中执行查询时的结果:

enter image description here

php mysql sql pdo phpmyadmin
1个回答
2
投票

要使用PDO选择所有行,您需要使用fetchAll()而不是fetch()

$e = $db->query("SELECT `username`, `membership` FROM `users` WHERE `expire` != ''")->fetchAll();

在PDO中,fetch()返回“结果集中的下一行”。

fetchAll()返回“包含所有结果集行的数组”。

© www.soinside.com 2019 - 2024. All rights reserved.