zoukankan      html  css  js  c++  java
  • 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-数据库中字段名。

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

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

  • 相关阅读:
    App测试从入门到精通之安装、卸载和运行测试
    App测试从入门到精通之App分类和场景操作系统
    一步到位带你入门Selenium
    MAMP和WAMP搭建Web环境,数据库,数据分布可视化
    爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍
    Python 基本语法,文件读写,数据结构和类型
    python 数据工程 and 开发工具Sublime
    jieba user guide
    python各类项目模块记录
    python parse xml using DOM
  • 原文地址:https://www.cnblogs.com/meizy/p/mysqli_fetch_row.html
Copyright © 2011-2022 走看看