$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