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)) {}