php的query怎么搞成数组
-
在PHP中,可以使用多种方式将query(查询)结果转化成数组。这里列举了两种常用的方法:
1. 使用mysqli扩展
“`php
// 假设已经建立了数据库连接并选择了数据库$query = “SELECT * FROM table_name”;
$result = mysqli_query($connection, $query);if ($result) {
$array_result = array();
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$array_result[] = $row;
}
mysqli_free_result($result);
}
“`在这个方法中,首先通过`mysqli_query()`函数发送查询语句并返回一个结果集对象。然后使用`mysqli_fetch_array()`函数遍历结果集,每次将结果保存到数组中,直到所有结果都被保存完毕。最后,可以通过`mysqli_free_result()`函数释放结果集内存。
2. 使用PDO扩展
“`php
// 假设已经建立了数据库连接并选择了数据库$query = “SELECT * FROM table_name”;
$result = $connection->query($query);if ($result) {
$array_result = $result->fetchAll(PDO::FETCH_ASSOC);
}
“`这种方法使用了PHP的PDO扩展。首先通过`query()`函数发送查询语句并返回一个结果集对象。然后使用`fetchAll()`方法将所有结果作为关联数组保存到`$array_result`变量中。
无论使用哪种方法,最终都可以获得一个包含查询结果的数组`$array_result`,每一行数据都表示为一个关联数组。可以根据需要对这个数组进行进一步的处理和使用。
2年前 -
在PHP中,将查询结果转换为数组可以通过以下几种方法实现:
1. 使用mysqli扩展
使用mysqli扩展库连接数据库,并执行查询语句,可以通过mysqli_fetch_assoc()方法将结果集转换为关联数组。“`php
// 连接数据库
$conn = mysqli_connect(“localhost”, “username”, “password”, “database_name”);
if (!$conn) {
die(“连接失败: ” . mysqli_connect_error());
}// 执行查询语句
$query = “SELECT * FROM table_name”;
$result = mysqli_query($conn, $query);// 将结果集转换为关联数组
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row;
}// 打印数组
print_r($data);// 关闭连接
mysqli_close($conn);
“`2. 使用PDO扩展
使用PDO扩展库连接数据库,并执行查询语句,可以使用fetchAll()方法将结果集转换为关联数组。“`php
// 连接数据库
$dsn = “mysql:host=localhost;dbname=database_name”;
$user = “username”;
$password = “password”;
$conn = new PDO($dsn, $user, $password);// 执行查询语句
$query = “SELECT * FROM table_name”;
$result = $conn->query($query);// 将结果集转换为关联数组
$data = $result->fetchAll(PDO::FETCH_ASSOC);// 打印数组
print_r($data);// 关闭连接
$conn = null;
“`3. 使用mysql扩展
注意:mysql扩展已在PHP7.0.0版本中弃用,推荐使用mysqli或PDO扩展。“`php
// 连接数据库
$conn = mysql_connect(“localhost”, “username”, “password”);
if (!$conn) {
die(“连接失败: ” . mysql_error());
}// 选择数据库
mysql_select_db(“database_name”, $conn);// 执行查询语句
$query = “SELECT * FROM table_name”;
$result = mysql_query($query);// 将结果集转换为关联数组
$data = array();
while ($row = mysql_fetch_assoc($result)) {
$data[] = $row;
}// 打印数组
print_r($data);// 关闭连接
mysql_close($conn);
“`这些方法可以将查询结果转换为关联数组,其中每个数组元素代表一条查询记录。你可以根据自己的需要进行适当调整,例如添加查询条件、修改数据库连接参数等。
2年前 -
将PHP的query字符串转换成数组可以使用parse_str()函数。parse_str()函数将解析query字符串,并将其存储为关联数组。
下面是详细的操作流程:
1. 获取query字符串。
在PHP中,可以使用$_SERVER[‘QUERY_STRING’]或者$_GET参数来获取URL中的query字符串。
“`php
$queryString = $_SERVER[‘QUERY_STRING’]; //或者 $queryString = $_GET;
“`2. 使用parse_str()函数转换为数组。
“`php
$array = array();
parse_str($queryString, $array);
“`完整代码示例:
“`php
$queryString = $_SERVER[‘QUERY_STRING’];
$array = array();
parse_str($queryString, $array);print_r($array);
“`示例输出:
“`
Array
(
[name] => John Doe
[age] => 25
[city] => New York
)
“`在上述示例中,假设URL为`http://example.com/?name=John%20Doe&age=25&city=New%20York`,将query字符串转换成数组后,数组中的键值对分别为`name => John Doe`、`age => 25`和`city => New York`。
需要注意的是,如果query字符串中存在重复的键,parse_str()函数默认会将其解析为数组。
如果不希望parse_str()函数将重复键解析为数组,可以使用这样的方式:
“`php
$queryString = $_SERVER[‘QUERY_STRING’];
$array = array();
parse_str($queryString, $array);// 如果同一个键存在多个值,只保留最后一个值
$array = array_map(function($value){
return is_array($value) ? end($value) : $value;
}, $array);print_r($array);
“`通过上述操作,可以将query字符串转换成数组,并且根据实际需求选择是否保留重复键的所有值。
2年前