2012-07-05 78 views
1

我有一個表people與列id (PK),fnamelnamePHP循環MySQL結果到陣列

這是很簡單的設置一個循環出來的數據:

$rs = mysql_query("SELECT * FROM people"); 
while($row=mysql_fetch_array($rs)){ 
    ...do stuff... 
} 

然而,正是我希望做的是循環列/值對到一個數組自動。因此,如果我爲email添加了一個新列,我可以調用中央函數並在$results['email']之間循環,而在數組中循環。

+0

如果你嘗試這樣做,你當前的代碼會發生什麼陣列?你有錯誤嗎?什麼是錯誤信息? – 2012-07-05 18:53:07

回答

2

使用mysql_fetch_assoc(),它返回一個關聯數組,其列名稱作爲值。

+0

這個工作,但只返回第一個結果。我將如何獲得所有結果? – Fluidbyte 2012-07-05 18:54:23

+0

請參閱[此答案](http://stackoverflow.com/a/5473398/1028949) – Quantastical 2012-07-05 18:55:20

1
$rs = mysql_query("SELECT * FROM people"); 
$results = array(); 
while(false !== ($row=mysql_fetch_assoc($rs))){ 
    $id = $row['id']; 
    $results[$id] = $row; 
} 

$結果現在是一個多維數組,每一個元素是字段名=>的fieldValue方法元素

Array 
(
    [1] => Array 
     (
      [id] => 1 
      [fname] => John 
      [lname] => Smith 
     ) 
    [3] => Array 
     (
      [id] => 3 
      [fname] => Karen 
      [lname] => Berry 
     ) 
)