php中mysqli_fentch四种常用查询函数的比较表及实例演示详解

 更新时间:2025年10月11日 10:57:22   作者:长城2024  
这篇文章主要介绍了php中mysqli_fentch四种常用查询函数的比较表及实例演示的相关资料,分别是mysqli_fetch_array、mysqli_fetch_assoc、mysqli_fetch_row、和mysqli_fetch_object,需要的朋友可以参考下

一、比较表

以下是PHP中mysqli_fetch系列四种常用查询函数(mysqli_fetch_arraymysqli_fetch_assocmysqli_fetch_rowmysqli_fetch_object)的比较表,涵盖返回类型、索引方式、参数、性能特点及适用场景等关键方面,帮助开发者快速选择合适函数。

函数名返回类型索引方式参数使用示例主要特点与适用场景
‌mysqli_fetch_array‌数组可选:关联数组、数字索引数组或两者兼有(默认)result_typeMYSQLI_BOTH(默认)、MYSQLI_ASSOCMYSQLI_NUM$row = $result->fetch_array(); echo $row['name'] . $row[0];灵活性高,但可能冗余;可通过参数控制返回格式,适合需同时访问字段名和数字索引的场景。
‌mysqli_fetch_assoc‌数组仅关联数组(字段名作为键)$row = $result->fetch_assoc(); echo $row['name'];返回纯关联数组,代码可读性好;性能优于mysqli_fetch_array(无多余索引),适合需明确字段名的查询。
‌mysqli_fetch_row‌数组仅数字索引数组(按查询字段顺序)$row = $result->fetch_row(); echo $row[0];高效轻量(仅数字索引);适用于字段顺序固定或不关心字段名的场景,如快速导出数据。
‌mysqli_fetch_object‌对象属性访问(字段名作为属性)$row = $result->fetch_object(); echo $row->name;面向对象风格;需通过->访问属性,适合集成到类或需链式操作的场景,但创建对象稍慢。

补充说明

  • 性能对比‌:mysqli_fetch_row通常最快(仅数字索引),mysqli_fetch_object稍慢(需实例化对象),而mysqli_fetch_arraymysqli_fetch_assoc居中。优先选择最简索引方式以优化性能。

  • ‌结果集处理‌:所有函数逐行移动结果集指针,末尾返回false(数组函数)或null(对象函数)。

  • 错误处理‌:查询失败时mysqli_query返回false,需先验证结果集再调用fetch函数。

  • 推荐实践‌:

    • 明确字段名时用mysqli_fetch_assoc(简洁高效)。

    • 需混合索引时用mysqli_fetch_array(参数控制)。

    • 面向对象代码用mysqli_fetch_object

    • 高性能批量处理用mysqli_fetch_row

此表综合了函数的核心差异,实际选择应结合查询需求和数据访问模式。

二、示例

以下是PHP中mysqli_fetch四种查询函数的实例输出对比,通过print_r展示不同返回格式(用<pre>标签清晰呈现出不同,方便大家对比):

1.mysqli_fetch_array

‌特点‌:默认返回同时包含数字索引和关联索引的数组(MYSQLI_BOTH)。

$result = $conn->query("SELECT id, name FROM users");
$row = $result->fetch_array(); // 默认 MYSQLI_BOTH
echo "<pre>"; print_r($row); echo "</pre>";

‌输出‌:

Array
(
    [0] => 1         // 数字索引
    [id] => 1        // 关联索引
    [1] => "Alice"   // 数字索引
    [name] => "Alice" // 关联索引
)

2.mysqli_fetch_assoc

‌特点‌:仅返回关联索引数组(字段名作为键)。

$row = $result->fetch_assoc();
echo "<pre>"; print_r($row); echo "</pre>";

‌输出‌:

Array
(
    [id] => 1
    [name] => "Alice"
)

3.mysqli_fetch_row

‌特点‌:仅返回数字索引数组(按查询字段顺序)。

$row = $result->fetch_row();
echo "<pre>"; print_r($row); echo "</pre>";

‌输出‌:

Array
(
    [0] => 1
    [1] => "Alice"
)

4.mysqli_fetch_object

‌特点‌:返回对象,通过属性访问字段。

$row = $result->fetch_object();
echo "<pre>"; print_r($row); echo "</pre>";

‌输出‌:

stdClass Object
(
    [id] => 1
    [name] => "Alice"
)

关键区别总结:

索引方式‌:

  • fetch_array:双索引(数字+关联)。
  • fetch_assoc:仅关联索引。
  •  fetch_row:仅数字索引。
  • fetch_object:对象属性。

‌性能‌:

fetch_row最快(无额外索引),fetch_object稍慢(需实例化)。

‌适用场景‌:

  • 明确字段名时用fetch_assoc;
  • 需混合索引用fetch_array;
  • 面向对象代码用fetch_object;
  • 高性能处理用fetch_row。

总结 

到此这篇关于php中mysqli_fentch四种常用查询函数的比较表及实例演示的文章就介绍到这了,更多相关php mysqli_fentch常用查询函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PHP中PCRE正则解析代码详解

    PHP中PCRE正则解析代码详解

    在本篇文章里小编给大家分享了关于PHP中PCRE正则解析的相关知识点内容,需要的朋友们学习下。
    2019-04-04
  • php仿QQ验证码的实例分析

    php仿QQ验证码的实例分析

    本文介绍一个php实现的仿QQ中验证码的例子,QQ注册或登录时的验证码,大家都见过吧,本文给出的代码,也可以实现那样的验证码哦
    2013-07-07
  • Yii2——使用数据库操作汇总(增删查改、事务)

    Yii2——使用数据库操作汇总(增删查改、事务)

    本篇文章主要介绍了Yii2——使用数据库操作汇总,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • php获取Google机器人访问足迹的方法

    php获取Google机器人访问足迹的方法

    这篇文章主要介绍了php获取Google机器人访问足迹的方法,涉及正则匹配与预定义服务器变量的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • 作为程序员必知的16个最佳PHP库

    作为程序员必知的16个最佳PHP库

    本文分享了作为程序员必知的16个最佳PHP库,相信大家一定会喜欢,大家在了解的同时可以添加到自己的收藏夹中
    2015-12-12
  • PHP封装的字符串加密解密函数

    PHP封装的字符串加密解密函数

    这篇文章主要给大家汇总介绍了PHP封装的字符串加密解密函数以及使用方法,非常的简单实用,有需要的小伙伴可以参考下
    2015-12-12
  • php 删除cookie方法详解

    php 删除cookie方法详解

    本文简单介绍了关于php删除cookie的方法,就是设置cookie有效期或者为空,非常实用的小技巧,这里推荐给大家。
    2014-12-12
  • PHP读取、解析eml文件及生成网页的方法示例

    PHP读取、解析eml文件及生成网页的方法示例

    这篇文章主要介绍了PHP读取、解析eml文件及生成网页的方法,结合实例形式分析了PHP操作eml文件的读取、解析、转换等相关实现技巧与注意事项,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2017-09-09
  • PhpDocumentor 2安装以及生成API文档的方法

    PhpDocumentor 2安装以及生成API文档的方法

    phpDocumentor 2是一个可以分析php源代码和注释块并生成文档的程序。基于phpdocumentor 1和javadoc启发而来,它持续创新的使用了一些新技术和支持php的新特性。
    2014-05-05
  • 七款最流行的PHP本地服务器分享

    七款最流行的PHP本地服务器分享

    文章介绍了7个最常用的PHP本地服务器,一般来说,本地的PHP平台分为两种,一种是LAMP,即为Linux+Apache+MySql+PHP;另一种是WAMP,它是Windows+Apache+MySql+PHP,而前者一般优秀于后者。当然,本文将主要针对WAMP平台上
    2013-02-02

最新评论