欢迎来到吉林社交动力网络科技有限公司
建站资讯

当前位置: 首页 > 建站资讯 > 建站教程 > PHP教程

php多条查询结果转数组_php数据库结果集转换技巧【教程】

作者:网站仿制 来源:php培训学校日期:2025-12-18
PHP数据库查询结果转数组有五种常用方法:一、mysqli_fetch_all()一次性提取;二、PDO::fetchAll()支持多格式;三、mysqli_fetch_assoc()循环逐行读取;四、PDO::fetch()配合while循环;五、array_map配合mysqli_fetch_row处理每行。

php多条查询结果转数组_php数据库结果集转换技巧【教程】

当您从PHP数据库查询中获取多条记录时,原始结果集通常以资源或对象形式存在,无法直接作为数组使用。以下是将多条查询结果转换为数组的常用技巧:

一、使用mysqli_fetch_all()函数

该函数可一次性将整个结果集提取为关联数组、索引数组或二者混合,适用于mysqli扩展且查询已执行完毕的情况。

1、执行SELECT语句并获取结果集资源。

2、调用mysqli_fetch_all($result, MYSQLI_ASSOC)获取关联数组形式的结果。

立即学习“PHP免费学习笔记(深入)”;

3、若需同时包含数字索引和关联键,使用MYSQLI_BOTH参数。

4、确保在调用前检查$result是否为有效资源,避免传递false或null导致警告

二、使用PDO::fetchAll()方法

PDO提供统一接口,支持多种返回格式,适合跨数据库兼容场景,且自动处理异常状态。

1、通过PDOStatement对象执行查询后,调用fetchAll(PDO::FETCH_ASSOC)获取关联数组。

2、使用PDO::FETCH_NUM获取纯数字索引数组。

3、指定PDO::FETCH_KEY_PAIR可将第一列为键、第二列为值生成键值对数组。

4、必须确保PDO预处理语句已成功执行,否则fetchAll()返回空数组

三、循环调用mysqli_fetch_assoc()

适用于内存受限环境,逐行读取并构建数组,避免一次性加载全部结果集到内存。

1、初始化一个空数组用于存储结果。

Designify Designify

拖入图片便可自动去除背景✨

Designify 79 查看详情 Designify

2、使用while循环配合mysqli_fetch_assoc($result)逐行提取关联数据。

3、每次循环中将当前行追加至初始化数组,如$array[] = $row。

4、循环结束后必须显式释放结果集,调用mysqli_free_result($result)

四、使用PDO::fetch()配合while循环

与mysqli_fetch_assoc类似,但基于PDO实现,支持fetch模式动态切换,灵活性更高。

1、执行查询并获得PDOStatement实例。

2、在while循环中调用$statement->fetch(PDO::FETCH_ASSOC)。

3、每次迭代将返回的单行数组追加进目标容器。

4、注意fetch()在无更多记录时返回false,不可直接用于数组合并操作

五、利用array_map配合mysqli_fetch_row

适用于需要对每行结果统一处理后再组装的场景,借助回调函数增强可读性与复用性。

1、先获取结果集行数,初始化索引数组。

2、使用array_map传入匿名函数,内部调用mysqli_fetch_row($result)。

3、函数体中对每行进行字段映射或类型转换。

4、此方式要求结果集未被其他函数提前消耗,否则返回空数组

以上就是php多条查询结果转数组_php数据库结果集转换技巧【教程】的详细内容,更多请关注php中文网其它相关文章!

标签: php培训课程
上一篇: 国内首批L3级自动驾驶车型获批上路试点 智能化量产应用迈出关键一步
下一篇: 怎么求php数组元素最大值和最小值_php数组元素最值求解技巧【教程】

推荐建站资讯

更多>