2012-11-22 51 views
0

呼應結果數組我有這樣的代碼:如何從PDO聲明

$pages = $conn->prepare('SELECT * FROM pages WHERE slug = startpage'); 

    $pages->execute(); 

    $resultarray = array(); 

     while($row = $pages->fetch(PDO::FETCH_ASSOC)){ 
     $resultarray[] = $row; 
     } 

我想這樣做,因爲我想用數組在整個文檔中,而不僅僅是內部時。看下面的例子:

//Somewhere outside of the while loop  
    <h1><?php echo $resultarray['header']?></h1> 

什麼是最有效的方法來做到這一點?

回答

3
/* instead of the 'while' loop you can use 'fetchAll' */ 
/* you can use 'while' if the values need to be processed */ 
$rows = $pages->fetchAll(PDO::FETCH_ASSOC); 

/* the final variable will contain all rows */ 
echo $rows[0]['header']; 
+0

感謝您給我們! –

0
<h1><?php echo $resultarray[$i]['header']?></h1> 

$i這裏是$resultarray陣列的索引。

0

不要忘記,你有多維數組,所以對於第一行,您可以訪問值:

$resultarray[0]['header'] 
+0

啊,這就是爲什麼。有沒有辦法規避指定'[0]'的要求? –

+0

如果您確定查詢只返回1行,則將代碼更改爲'$ resultarray = $ row;'然後您將可以像這樣訪問值'$ resultarray ['header']' – vlcekmi3