PHP数据库查询结果转数组有五种常用方法:一、mysqli_fetch_all()一次性提取;二、PDO::fetchAll()支持多格式;三、mysqli_fetch_assoc()循环逐行读取;四、PDO::fetch()配合while循环;五、array_map配合mysqli_fetch_row处理每行。

当您从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、初始化一个空数组用于存储结果。
还木有评论哦,快来抢沙发吧~