将mysql调用加载到数组中

时间:2012-11-06 16:24:48

标签: php mysql arrays

通常没有这么多,但这次我的过程似乎没有正常工作,所以我要求澄清一下

这适用于查询中的单个项目:

    $query="SELECT data1 as product FROM Products ORDER BY Title"; 
    $result = mysql_query($query)
        or die("Query failed -".$query);        
    $rows=array();
    while($row = mysql_fetch_array($result, MYSQL_BOTH)) {
        $rows[] = $row;
    }

正如我所说的那样,对于返回的单个项目可以正常工作,查询中返回的所有项目最终都会出现在一个名为$ rows的数组中

    $query="SELECT data1 as product, data2 as info FROM Products ORDER BY Title"; 
    $result = mysql_query($query)
        or die("Query failed -".$query);        
    $i=0;
    $data1=array();
    $data2=array();

    while($row = mysql_fetch_array($result, MYSQL_BOTH)) {
        $data1[$i] = $row[0];
        $data2[$i++] = $row[1];
    }

这似乎没有做同样的事情,或者我错过了什么。

我错过了什么吗? 如果没有,那么我需要将其他东西看作我的问题,但需要确保这一点。

我想要的结果是两个数组,其中包含查询结果中的所有第一项,第二个数组包含查询结果中的所有第二项。

2 个答案:

答案 0 :(得分:2)

尝试:

$row = array();
while($row[] = mysql_fetch_array($result, MYSQL_BOTH)) {}

并且,如前所述,使用mysqli或PDO。 mysql_ *已被弃用。

答案 1 :(得分:0)

 $query="SELECT data1 as product, data2 as info FROM Products ORDER BY Title"; 
$result = mysql_query($query)
    or die("Query failed -".$query);        
$i=0;
$data1=array();
$data2=array();

while($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    $data1[$i] = $row[0];
    $data2[$i] = $row[1];
    $i++;
}