2013-04-25 78 views
2

我想要從我的下表中取出所有行,即date,我正面臨一個問題。使用二維數組

id  name  username app  sdate edate 
=== =======  ======== ===  ===== ====== 
1  tanvir  tanvir  1  2012  2012  
2  Ranvir  Ranvir  1  2011  2013  
3  john  john  2  2011  2012  
4  Rakib  Rakib  1  2011  2012 

我用下面的MySQL查詢:

$date = mysql_query("select * from `date`"); 
$date_row = mysql_fetch_array($date); 

但它只是返回一行。

如何將所有行放入二維數組中?

+0

[mysql_fetch_assoc](http://php.net/mysql_fetch_assoc)?你應該使用PDO,並且永遠不要調用表'date',因爲它是一個mysql函數。 – soyuka 2013-04-25 13:51:03

+3

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – h2ooooooo 2013-04-25 13:51:23

+3

@soyuka這就是反引起的。 DERP。 – 2013-04-25 13:52:32

回答

11

嘛,當然這只是返回一行,這就是mysql_fetch_array做:

mysql_fetch_array - 獲取一個結果行作爲關聯數組,數字數組,或二者

現在,要構建行的陣列,您只需遍歷它們即可:

$all_rows = array(); 
while($row = mysql_fetch_assoc($date)) $all_rows[] = $row; 

注意我是如何在這裏使用mysql_fetch_assoc。除非你特別需要數字和聯想指標,否則你絕不應該使用mysql_fetch_array

0

嘗試這種情況:

$date = getQueryData("select * from `date`"); 
function getQueryData($sQuery) 
{ 
    $result = mysql_query($sQuery); 
    $rows = Array(); 
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
    { 
     $rows[] = $row; 
    } 
    @mysql_free_result($result);  
    return $rows; 
}