0

通常不必经常这样做,但这次我的过程似乎无法正常工作,所以我要求澄清一下

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

    $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];
    }

这似乎没有做同样的事情,或者我错过了一些东西。

我错过了什么吗?如果不是,那么我需要将其他问题视为我的问题,但需要确保这一点。

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

4

2 回答 2

2

尝试:

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

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

于 2012-11-06T16:32:46.250 回答
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++;
}
于 2012-11-06T16:32:45.203 回答