2011-09-19 66 views
1

我有一個數組,使用這個結構。把MYSQL結果放到一個PHP數組中

$data = array(
array("firstname" => "Mary", "lastname" => "Johnson", "age" => 25), 
array("firstname" => "Amanda", "lastname" => "Miller", "age" => 18) 
); 

我想從一個MYSQL表中讀取數據到這個數組中。這是我的代碼

$sql = "select * from mynames limit 10"; 
$result = mysql_query($sql); 
$data = mysql_fetch_array($result, MYSQL_NUM); 

該陣列沒有填滿。任何人都可以告訴我如何填充陣列?

+2

查看[手冊](http://php.net/mysql_fetch_array)。 –

回答

1

您是否想追加結果至$data?如果是這樣,你可以做這樣的事情:

$data = array(
    array("firstname" => "Mary", "lastname" => "Johnson", "age" => 25), 
    array("firstname" => "Amanda", "lastname" => "Miller", "age" => 18) 
); 

$sql = "SELECT * FROM mynames LIMIT 10"; 
$result = mysql_query($sql); 

while (($row = mysql_fetch_array($result, MYSQL_NUM)) !== false) { 
    $data[] = $row; 
} 

或者,如果你正在尋找合併你$data從MySQL獲得回來行的行,你可以這樣做:

$i = 0; 
while (($row = mysql_fetch_array($result, MYSQL_NUM)) !== false) { 
    $data[$i] = array_merge($data[$i], $row); 
    $i++; 
} 
13
while($data = mysql_fetch_assoc($result)){ 
     $row[] = $data; 
    } 
    print_r($row); 
0

mysql_fetch_array將從結果中獲得下一行,當沒有更多行時返回false。傳播包含所有需要迭代的結果的數組(例如,使用while ($row = mysql_fetch_array(...)。