php通过mysqli扩展查询数据有哪些方案?mysqli_fetch_系列
发布于 作者:苏南大叔 来源:程序如此灵动~

不想使用笨重的各种php
框架,又想连接mysql
数据库拿数据。那么,使用原生支持的mysqli
系列函数就是最好的选择。本文里面苏南大叔就php
的mysqli
的五个类似函数mysqli_fetch_(.*)
做个对比试验。看看,这几个mysqli_fetch_(.*)
都有什么样的区别,日常编程中,最常用的是哪个函数?

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程故事。本文测试环境:测试环境:win10
,nginx@1.15.11
,php@8.2.10-nts
,mysql@5.7.26
。
前文回顾
下面的两篇文章,讲述了在php
下,使用mysqli
扩展的基本姿势。
本文也是在上述两篇文章的基础上,做的扩展描述总结。开展叙述之前,先看一下基础部分。
首先,记得开启mysqli
扩展。类似编辑php.ini
文件:
然后准备好测试数据库表结构:
查询语句预览
php
连接数据库:
准备好查询代码骨架:
多条数据查询,是这样的:
单条数据查询,是这样的:
还可以写成:
mysqli_fetch_array(),数字加字段
mysqli_fetch_array()
返回的是【数字索引】加【字段名索引】
mysqli_fetch_row(),数字索引
mysqli_fetch_row()
返回的是【数字索引】
mysqli_fetch_assoc(),字段索引【数组】【推荐】
mysqli_fetch_assoc()
返回的是【字段索引】的数组,苏南大叔推荐使用这个函数,效果比较好。
mysqli_fetch_object(),字段索引【对象】
mysqli_fetch_object()
返回的是【字段索引】的对象
mysqli_fetch_field(),字段属性详情
mysqli_fetch_field()
返回的是字段的属性详情,并不是表里面的数据,和前几个函数区分特别大。
表格总结
这几个取数据的函数,都属于游标类型的,while
循环到末尾后,就需要再次query
。而mysqli_fetch_field()
则不属于这其中。
函数 | 返回值 | 返回值类型 | 索引类型 | 游标影响 |
---|---|---|---|---|
mysqli_fetch_array | 表里的数据 | 数组 | 数字、字段 | 是 |
mysqli_fetch_row | 表里的数据 | 数组 | 数字 | 是 |
mysqli_fetch_assoc | 表里的数据 | 数组 | 字段 | 是 |
mysqli_fetch_object | 表里的数据 | 对象 | 字段 | 是 |
mysqli_fetch_field | 字段的属性 | 对象 | 字段 | 否 |
变种写法
除了while
循环这种写法外,这里有几个变种的写法,很简单的。
核心点就是:
变成了:

示例代码:
开始变形:
结语
说实话,写这种编程细节,必须通过能赚钱的产品,才能取得最好的效果。更多php
文章,请参考:


