2012-11-01 7 views
5

からデータを取得し、私は今、私は、データベースからすべてのデータを取得しようとしています ...以前、私はちょうどmysqlの使用していた、最近PDOを使用して開始しました。PDOは、データベース

$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.'); 
} 

しかし、それはすべてのユーザー、ちょうど空白のページ..

+0

'エラー(...)は'何ですか?エラー報告がオンになっていることを確認してください。 – Neal

答えて

14

あなたが変数に代入してから使用する必要があり、アレイ/結果セットを返すfetchAll()PDO法/反復処理が表示されませんその変数:
(​​を逃す)

$users = $getUsers->fetchAll(); 
foreach ($users as $user) { 
    echo $user['username'] . '<br />'; 
} 

UPDATEはまた、あなたがトンを呼び出していません表示されます彼、あなたが実際にデータをフェッチあなたが前のステートメントが、を準備を発生する必要がありexecute()方法:

$getUsers = $DBH->prepare("SELECT * FROM users ORDER BY id ASC"); 
$getUsers->execute(); 
$users = $getUsers->fetchAll(); 
... 
+0

とにかく動作していません。空白のページでエラーはありません。 – chizijs

+0

@ user1791971 'var_dump($ users);'を実行すると、 'fetchAll()'の後に何が表示されますか? – newfurniturey

+0

あなたはエラーをチェックして表示しています:add 'error_reporting(E_ALL); ini_set( 'display_errors'、 '1'); 'スクリプトの先頭へ –

2
So simple 
follow this step 
$sql = $dbh->prepare("SELECT * FROM users ORDER BY id ASC"); 
$sql->execute(); 
while($result = $sql->fetch(PDO::FETCH_ASSOC)){ 
?> 
<tr> 
<td><?php echo $result['field1'];?></td> 
<td><?php echo $result['field2'];?></td> 

</tr> 
<?php } ?>