Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将mysql调用加载到数组中_Php_Mysql_Arrays - Fatal编程技术网

Php 将mysql调用加载到数组中

Php 将mysql调用加载到数组中,php,mysql,arrays,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_ar

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

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

    $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];
    }
这似乎不是做同样的事情,或者我错过了一些东西

我错过什么了吗? 如果不是的话,那么我需要把其他事情作为我的问题来考虑,但需要确保这一点

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

请尝试:

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

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

mysql_*
函数已被弃用。改用mysqli或PDO。我建议使用or,就像以前一样。PDO有一个自己的方法,其中有一个示例,说明您希望在该链接中执行的操作。@Stu“已弃用”“折旧”意味着其他一些东西。我建议在
循环时在
中使用
$row['product']
$row['info']
,这样就更容易知道你到底在做什么。如果你要这样做,你根本不需要
$i
。只需将项目推入数组,如:
$data[]=$row[0]
$row = array();
while($row[] = mysql_fetch_array($result, MYSQL_BOTH)) {}