在php中,查询数据库是非常常见的任务之一。查询的结果可能会涉及多行、多列数据,这时候我们就需要将查询结果处理成一个数组,以便于后续的处理。
本文将介绍几种将查询结果以数组形式返回的方法。
1. 使用fetch_assoc()
fetch_assoc()函数是MySQLi类中的一个函数,用于将查询结果从资源对象中提取出来,合并成一个关联数组。关联数组由列名作为键,数据作为值,可以很方便地处理数据。
下面是一个使用fetch_assoc()函数的例子:
// 连接MySQL数据库
$con = mysqli_connect("localhost","root","","test");
// 查询
$result_set = mysqli_query($con, "SELECT * FROM products");
// 结果形成数组
while ($row = mysqli_fetch_assoc($result_set)) {
$result_array[] = $row;
}
// 输出数组
print_r($result_array);2. 使用fetch_row()
fetch_row()函数也是MySQLi类中的一个函数,用于将查询结果从资源对象中提取出来,合并成一个索引数组。索引数组由数据表中的列号作为下标,数据作为值。
立即学习“PHP免费学习笔记(深入)”;
下面是一个使用fetch_row()函数的例子:
// 连接MySQL数据库
$con = mysqli_connect("localhost","root","","test");
// 查询
$result_set = mysqli_query($con, "SELECT * FROM products");
// 结果形成数组
while ($row = mysqli_fetch_row($result_set)) {
$result_array[] = $row;
}
// 输出数组
print_r($result_array);3. 使用fetch_all()
fetch_all()函数是MySQLi类中新增的函数,用于将查询结果从资源对象中提取出来,合并成一个二维数组。二维数组由行号和列号作为下标,数据作为值。
下面是一个使用fetch_all()函数的例子:
// 连接MySQL数据库
$con = mysqli_connect("localhost","root","","test");
// 查询
$result_set = mysqli_query($con, "SELECT * FROM products");
// 结果形成数组
$result_array = mysqli_fetch_all($result_set, MYSQLI_ASSOC);
// 输出数组
print_r($result_array);总结
以上是查询结果形成数组的三种基本方法,分别使用fetch_assoc(), fetch_row() 和 fetch_all()函数。其中,fetch_assoc()函数适用于大部分情况,因为它提供了最方便的处理方式。而fetch_row()函数和fetch_all()函数主要用于特定情况下的处理。
在实际应用中,也可以根据实际需求进行数组的处理,比如使用array_map()和array_column()函数来对数组元素进行操作和提取等等。











