$data = mysql_query("SELECT * FROM users);
現在數據存儲在$data
變量中。我想將mysql數據存儲在數組中並返回。Mysql查詢mysql_fetch_array
$data_array = mysql_fetch_assoc($data);
這將存儲數據的第一行(第一個數組)。
現在存儲所有的行我想知道我該怎麼做。
$data = mysql_query("SELECT * FROM users);
現在數據存儲在$data
變量中。我想將mysql數據存儲在數組中並返回。Mysql查詢mysql_fetch_array
$data_array = mysql_fetch_assoc($data);
這將存儲數據的第一行(第一個數組)。
現在存儲所有的行我想知道我該怎麼做。
$res = mysql_query($sql);
$data = array();
while(($row[] = mysql_fetch_array($res)) !== false) {
}
如果您的結果集很大,那麼這樣做不是一個好主意。它可以在進程中使用很多的內存。
說了這麼多,你可以存儲一個這樣的數組對整個事情:
<?php
$query="select * from table_xyz";
$result = mysql_query($query) or die(mysql_error());
$arr_table_result=mysql_fetch_full_result_array($result);
function mysql_fetch_full_result_array($result)
{
$table_result=array();
$r=0;
while($row = mysql_fetch_assoc($result)){
$arr_row=array();
$c=0;
while ($c < mysql_num_fields($result)) {
$col = mysql_fetch_field($result, $c);
$arr_row[$col -> name] = $row[$col -> name];
$c++;
}
$table_result[$r] = $arr_row;
$r++;
}
return $table_result;
}
?>
的標準方法:
$res = mysql_query($sql);
$data = array();
while(($row = mysql_fetch_array($res)) !== false) {
$data[] = $row;
}
// now $data is an array with all rows
http://php.net/manual/en/function.mysql-fetch-array.php
返回字符串的數組 對應於所提取的行,或 FALSE如果沒有更多的行。
該方法適用於mysql_fetch_*
函數。
while ($row = mysql_fetch_assoc($data))
{
array_push($data_array,$row);
}
這個和Pablo Santo Cruz的區別是什麼 – 2011-02-08 22:13:14
聖鉬那是醜陋的。您可以通過簡單地編寫查詢(指定帶有別名而不是*的字段)來避免整個業務,然後$ row將包含這些字段別名作爲鍵,然後將其填入另一個表中。整個代碼塊將減少到大約6行。 – 2011-02-08 19:20:34