我最近开始使用 PDO,之前我只使用 MySQL.现在我正在尝试从数据库中获取所有数据.
I started using PDO recently, earlier I was using just MySQL. Now I am trying to get all data from database.
$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.');
}
但它没有显示任何用户,只是一个空白页面.
But it is not showing any users, just a blank page.
PDO 方法 fetchAll() 返回一个数组/结果集,您需要将其分配给一个变量,然后使用/迭代该变量:
The PDO method fetchAll() returns an array/result-set, which you need to assign to a variable and then use/iterate through that variable:
$users = $getUsers->fetchAll();
foreach ($users as $user) {
echo $user['username'] . '<br />';
}
更新(缺少execute())
此外,您似乎没有调用 execute() 方法需要在之后你准备语句但之前你实际获取数据:
UPDATE (missing execute())
Also, it appears you aren't calling the execute() method which needs to happen after you prepare the statement but before you actually fetch the data:
$getUsers = $DBH->prepare("SELECT * FROM users ORDER BY id ASC");
$getUsers->execute();
$users = $getUsers->fetchAll();
...
这篇关于PDO 从数据库中获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
在 SELECT(MYSQL/PHP) 中加入 2 个表Joining 2 tables in SELECT(MYSQL/PHP)(在 SELECT(MYSQL/PHP) 中加入 2 个表)
如何使<option selected=“selected">由How to make lt;option selected=quot;selectedquot;gt; set by MySQL and PHP?(如何使lt;option selected=“selectedgt;由 MySQL 和 PHP 设置?)
使用 PHP 中的数组自动填充选择框Auto populate a select box using an array in PHP(使用 PHP 中的数组自动填充选择框)
PHP SQL SELECT where like search item with multiple wordsPHP SQL SELECT where like search item with multiple words(PHP SQL SELECT where like search item with multiple words)
json_encode 从 MSSQL-SELECT 产生 JSON_ERROR_UTF8json_encode produce JSON_ERROR_UTF8 from MSSQL-SELECT(json_encode 从 MSSQL-SELECT 产生 JSON_ERROR_UTF8)
MySQL ORDER BY rand(),名称 ASCMySQL ORDER BY rand(), name ASC(MySQL ORDER BY rand(),名称 ASC)