2008-12-08 40 views
1

我有一個包含2個表的數據庫。PHP的麻煩MySQL MySQL讀取數組函數

其中一個表持有包含數字一排,從0到10

在PHP中,我這樣做:

$query = "SELECT ".$param." FROM issues WHERE ".$param." >=0"; 
$result = @mysql_query($query) or showError("query failed"); 
if (!($record = mysql_fetch_array($result))) return null; 
return $record; 

的$ PARAM持有該行的名稱。

我還挺期待得到一個列保持數字0至10,而是我得到2個元素的數組:

array(
    [0] = 0 
    [row_name] = 0 
    . 
    . 
    . // AND SO ON 
) 

就是這樣。

我從來沒有用這些功能之前的工作和www.php.net沒有任何例子,真正幫助...

+0

你還應該用mysql_free_result釋放結果。 – 2008-12-08 20:14:33

+0

沒有Allain Lalonde。 – OIS 2008-12-08 20:50:01

回答

6

我不完全相信你正試圖在這裏實現什麼,但我想你要的是:

// query... 
$records = array(); 
while($r = mysql_fetch_array($result)) { 
    $records[] = $r; 
} 
return $records; 
+0

謝謝,我可以用這個工作。現在我得到一個2維數組。每個元素有2個子元素,所以我只需選擇第一個元素(或者是好的,因爲它們總是具有相同的值) – Vordreller 2008-12-08 20:14:25

1

默認情況下mysql_fetch_array恢復正常和關聯數組,這樣你就可以通過位置訪問值($結果[0])或名稱($結果[ 'USER_NAME'])「:

array mysql_fetch_array (resource $result [, int $result_type ]) 

result_type:要獲取的數組的類型爲 。這是一個常量,可以使用 取下列值: MYSQL_ASSOC,MYSQL_NUM和 默認值爲MYSQL_BOTH。

3

您想要在一次調用中獲得所有結果。用你的方法,你必須循環保羅向你展示的結果。但使用PDO fetchAll可能會更好。如果您正在學習PHP數據庫連接,請學習PDO