chi*_*ijs 7 php select pdo while-loop fetch
我最近开始使用PDO,早些时候我只使用mysql ..现在我试图从数据库中获取所有数据.
$getUsers = $DBH->prepare("SELECT * FROM users ORDER BY id ASC");
$getUsers->fetchAll();
if(count($getUsers) > 0){
while($user = $getUsers->fetch()){
echo $user['username']."<br/>";
}
}else{
error('No users.');
}
Run Code Online (Sandbox Code Playgroud)
但它没有显示任何用户,只是一个空白页面..
new*_*rey 19
该PDO方法fetchAll()返回一个数组/结果集,您需要将其分配给变量,然后使用/遍历该变量:
$users = $getUsers->fetchAll();
foreach ($users as $user) {
echo $user['username'] . '<br />';
}
Run Code Online (Sandbox Code Playgroud)
UPDATE(缺失execute())
此外,在您准备语句之后但在实际获取数据之前,您似乎没有调用execute()需要发生的方法:
$getUsers = $DBH->prepare("SELECT * FROM users ORDER BY id ASC");
$getUsers->execute();
$users = $getUsers->fetchAll();
...
Run Code Online (Sandbox Code Playgroud)
小智 5
下面的代码将满足您的要求:
$sql = $dbh->prepare("SELECT * FROM users ORDER BY id ASC");
$sql->execute();
while ($result = $sql->fetch(PDO::FETCH_ASSOC)) {
echo $user['username']."<br/>";
}
Run Code Online (Sandbox Code Playgroud)