2012-11-01 11 views
5

최근에는 PDO를 사용하기 시작했습니다. 이전에는 mysql을 사용하고있었습니다 ... 이제 데이터베이스에서 모든 데이터를 가져 오려고합니다.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 방법 /를 통해 반복 표시되지 그 변수 : (execute() 누락)

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

UPDATE 또한
는, 당신이 t를 호출하지 않습니다 나타납니다 그는 당신이 실제로 데이터 가져 오기 전에 문하지만 을 준비일어날 필요가 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 } ?> 
관련 문제