2010-08-18 60 views
1

我並不是PHP的新手,但我沒有使用太多的MySQL,所以我會問你們這個。mysql_fetch_array返回兩樣東西

我有一個數據庫的一行數據,它由一個日期和兩個整數組成。然而,當我查詢這個數據庫:

$query = "SELECT * FROM history"; 
$theQuery = mysql_query($query, $connect); 
$array = mysql_fetch_array($theQuery); 

...我做了print_r,我得到如下:

Array 
(
    [0] => 2010-08-17 
    [date] => 2010-08-17 
    [1] => 17454 
    [posts] => 17454 
    [2] => 1058 
    [members] => 1058 
) 

難道我做錯了什麼?我計劃在有很多數據的行上打印大量數據並將其打印到表格中,然後我將如何進行排序?

+2

是。你正在做的錯事是忽略手冊頁。只需輸入瀏覽器的地址欄「php.net/function name」,並獲得您的問題的每個答案:http://php.net/mysql_fetch_array – 2010-08-18 05:51:42

回答

1

第一:你做的一切權利

您可以使用mysql_fetch_assocmysql_fetch_array(resource $result, MYSQL_ASSOC)。 (默認值爲MYSQL_BOTH(關聯數組+數值數組))。請參閱mysql_fetch_array

+0

感謝您的答案。 ;) – esqew 2010-08-18 05:57:13

+0

你的歡迎:) – 2010-08-18 06:01:27

0

mysql_fetch_array的第二個參數是可選的,但默認是MYSQL_BOTH,它會爲您提供索引和鍵值。您可以改用MYSQL_ASSOC。

上mysql_fetch_array PHP手冊:

如果沒有更多的行,則返回字符串數組對應於所提取的行,或FALSE。返回數組的類型取決於如何定義result_type。通過使用MYSQL_BOTH(默認),您將得到一個包含關聯和數字索引的數組。使用MYSQL_ASSOC,你只能得到關聯索引(如mysql_fetch_assoc()工作),使用MYSQL_NUM,你只能得到數字索引(如mysql_fetch_row()工作)。

-1

隨着mysql_fetch_array,你可以在一個循環中運行它,

例如:

while($array = mysql_fetch_array($theQuery)) 
{ 
    echo $array["date"]; 
    echo $array["posts"]; 
    echo $array["members"]; 

}