2013-09-26 19 views
1

我無法找到一個簡單問題的解決方案,這是一個恥辱。在使用mysql select語句之後,假設我得到了兩條記錄,我想要做的就是將這些結果存儲到兩個不同的變量中。比方說,我選擇語句後4,5。我想將4和5保存到不同的變量中。如何將MYSQL_FETCH_ARRAY結果存儲到不同的Varriable中

$query = mysql_query("SELECT test_id FROM test WHERE MONTH(created)='$res_month'"); 

while($abc = mysql_fetch_array($query)) { 

echo $abc; 


} 
+0

用一些更相關的標籤取代了一些標籤。特別是,你的問題是關於PHP而不是關於MySQL,所以我相應地替換了產品標籤。 –

+0

請改用mysqli或PDO,因爲mysql_ *不安全且不推薦使用。 – RobAtStackOverflow

回答

0
$query = mysql_query("SELECT test_id FROM test WHERE MONTH(created)='$res_month'"); 
$a = array(); 
while($abc = mysql_fetch_array($query)) { 
$a[] = $abc['test_id']; 
} 

來訪問值

foreach($b as $a){ 
    echo $b; 
} 

不要使用mysql_ *功能,因爲它們被棄用PHP 5.5.0的

+0

感謝您的建議。 Hllaji代碼完美工作。 – user1313942

3

按下記錄一個這樣的數組:

$data = array(); 
while($abc = mysql_fetch_array($query)) { 
    $data[] = $abc; 
} 

$first = $data[0]['test_id']; 
$second = $data[1]['test_id']; 
// etc ... 

您可以使用前ach訪問您的數據:

foreach($data as $value){ 
    //$value 
} 
+0

謝謝你。你的代碼完美地工作。我認爲我需要練習。我過去6個月沒有碰過PHP。 – user1313942

+0

如果使用'array_push()'將一個元素添加到數組中,最好使用'$ array [] =',因爲這樣就沒有調用函數的開銷。從[PHP手冊](http://php.net/manual/en/function.array-push.php) – Mark

+0

@Marcel感謝您的要求 – hallaji

0

mysql_fetch_array的數組鍵總是來自表的字段名。 每個循環都從查詢結果中推出新行。

正如aaron說的,你可以節省它將值推入數組中。 如果表有主鍵,也可以使用二維數組。 這樣你可以通過索引找到行。

$query = mysql_query("SELECT test_id,field2,field3 FROM test WHERE MONTH(created)='$res_month'"); 


$data=array(); 
while($abc = mysql_fetch_array($query)) 
{ 

// two dimension array 

    $data[$abc['test_id']]['test_id']=$abc['test_id']; 
    $data[$abc['test_id']]['field2']=$abc['field2']; 
    $data[$abc['test_id']]['field3']=$abc['field3']; 

// view values 

    echo $abc['test_id']; 
    echo $abc['field2']; 
    echo $abc['field3']; 
} 
相關問題