• mysqli_fetch_row()函数返回结果的理解


    在PHP处理对数据库查询返回的结果集,即mysqli_query()函数返回的结果集,我们可以把它处理为数组形式以便于处理。

    我们一般会用下面四个函数:

    1、array mysqli_fetch_array ( resource result [, int result_type] )

                  #返回结果集的一行作为数组,两种数组索引都行
    2、mixed mysqli_fetch_object ( resource result )

                  #返回结果集的一行作为对象 <?php echo $myrow-date; ?>
    3、mixed mysqli_fetch_row ( resource result )

                  #返回结果集的一行作为枚举数组,只能使用数字索引
    4、mixed mysqli_fetch_assoc ( resource result )

                  #返回结果集的一行作为关联数组,只能是关联数组的索引形式

    一般我们会使用这样的形式来在网页中显示结果:

    但是有时候我们对于他们都是返回的是数组,但是可能并不太理解他们是怎样返回的,下面以mysqli_fetch_row 为例进行分析,其它几个也是类似的。

    分析:上面的四个转换结果集中数据为对象、数组的函数,它们都是返回的结果集中的一行作为对象
    像游标一样,如果使用循环,它会自动指向下一行然后又返回一个数组,最后没有了,就返回false。
    由于false是最后的退出条件,所以要while($myrow=mysqli_fetch_row($result)){}这样,把变量和函数的
    赋值语句作为while的条件语句,如果先在外面定义了$myrow=mysqli_fetch_row($result);
    然后while($myrow){}就会陷入死循环。

    这几个函数实际上像是一个游标,先将结果集中的第一行作为数组,然后游标向后移动一个
    又得到一个数组,依次类推到最后没有了,就直接返回一个false,所以我们对于行的遍历
    最好用while循环,对单个数组中的数据的遍历,最好用for循环,这个数组的长度用count($myrow)获取

    另外,$myrow[索引]的形式可以得到数组中的某一个元素。对于对象,可以用$myrow-数据库中字段名。

    备注:这里的索引要么是数字索引,要么是关联数组的索引,对于关联数组的索引其实就是对应着
    数据库中的字段名称,必须一致才行。

    这些函数返回的数组的结构可以根据下面的图来理解。

  • 相关阅读:
    关于MyEclipse项目的名字的修改对项目导入导出的影响
    关于SQL语句的一些注意事项
    关于Struts2的jsp页面的注释
    关于VS2013常用到的快捷键
    关于Cocos2d-x中定时器的使用总结
    关于Cocos2d-x中打包图集和使用方法
    zend studio 10.6.2 设置默认编码为UTF-8
    zend studio 10.6.2 字体大小 设置
    zend Studio10.6.2汉化
    JQ Ajax 上传文件
  • 原文地址:https://www.cnblogs.com/meizy/p/mysqli_fetch_row.html
Copyright © 2020-2023  润新知