深入理解用mysql_fetch_row()以数组的形式返回查询结果


Posted in PHP onJune 05, 2013

同mysql_result()一样,mysql_fetch_row()也可以用来获取查询结果集,其区别在于函数的返回值不是一个字符串,而是一个数组。函数定义如下。

array mysql_fetch_row(int result)

参数说明如下。
result:
由函数mysql_query()或mysql_db_query()返回的结果标识,用来指定所要获取的数据的SQL语句类型。
函数返回值如下。
成功:一个数组,该数组包含了查询结果集中当前行数据信息,数组下标范围0~记录属性数−1,数组中的第i个元素值为该记录第i个属性上的值。
失败:false。
下面的mysql_fetch_row()使用示例功能同5.5.1中示例。
1    <!------使用mysql_fetch_row()来获取数据:mysql_fetch_row.php------>
2    <?php
3        //连接并选择到数据库服务器
4        $connection = mysql_connect ("localhost", "root", "password");
5        mysql_select_db("Books", $connection);
6        //查询数据
7        $query="SELECT * FROM Computers ";
8        $query.="WHERE price >= 20";
9        //echo $query."<br>";
10       $result=mysql_query($query,$connection);
11       //用mysql_fetch_row()获得数据,并输出
12       while($row=mysql_fetch_row($result))
13       {
14            echo "书名:    ".$row[1]."<br>";
15            echo "价格:    ".$row[2]."<br>";
16            echo "出版日期:    ".$row[3]."<br>";
17            echo "<br>";
18       }
19   ?>

mysql_fetch_row()获得当前行的数据信息,在被引用后,自动滑动至下一行。本例中在第12行对其的引用为:
while($row=mysql_fetch_row($result))

在这个循环中,每一次mysql_fetch_row()都获得当前行数据,并赋值给数组$row,然后自动滑向下一行;在取出最后一行后,函数将返回false,循环结束。这样,就可以把结果集中的所有数据逐行取出并显示。
注意
mysql_fetch_row()返回结果数组的下标对应着不同属性上的值,且只能通过下标方式,而不能使用属性名方式获得属性上的值,在实际应用中容易引起混乱,一定要仔细使用。同时,应注意在使用中不要使用越界下标。
示例正确运行的结果如下。
书名: 数据结构
价格: 20
出版日期: 2001-01-01
书名: C语言
价格: 23
出版日期: 1998-04-04
书名: PHP入门技术
价格: 22
出版日期: 2005-05-01

PHP 相关文章推荐
优化PHP程序的方法小结
Feb 23 PHP
php中定时计划任务的实现原理
Jan 08 PHP
PHP数组循环操作详细介绍 附实例代码
Feb 03 PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 PHP
PHP魔术方法的使用示例
Jun 23 PHP
详解PHP中的状态模式编程
Aug 11 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
PHP获取ttf格式文件字体名的方法示例
Mar 06 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 PHP
fetchAll()与mysql_fetch_array()的区别详解
Jun 05 #PHP
用mysql_fetch_array()获取当前行数据的方法详解
Jun 05 #PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
Jun 05 #PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
Jun 05 #PHP
浅谈php serialize()与unserialize()的用法
Jun 05 #PHP
基于php 随机数的深入理解
Jun 05 #PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 #PHP
You might like
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
PHP测试程序运行时间的类
2012/02/05 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
javascript时区函数介绍
2012/09/14 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
关于JavaScript中string 的replace
2013/04/12 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
基于Python的身份证号码自动生成程序
2014/08/15 Python
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
利用python如何处理nc数据详解
2018/05/23 Python
python实现dijkstra最短路由算法
2019/01/17 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
python字典key不能是可以是啥类型
2020/08/04 Python
幼儿教师自我鉴定
2013/11/02 职场文书
优秀学生事迹材料
2014/02/08 职场文书
六五普法学习心得体会
2016/01/21 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书