mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别


Posted in PHP onApril 24, 2009
<?php 
$link=mysql_connect('localhost','root',”); 
mysql_select_db('abc',$link); 
$sql = “select * from book”; 
$result = mysql_query($sql); 
while($row = mysql_fetch_row($result)) 
{ 
echo $row['cid'].'::'.$row[1].'<br>'; 
} 
$result = mysql_query($sql); 
while($row = mysql_fetch_array($result)) 
{ 
echo $row['cid'].'::'.$row[1].'<br>'; 
} 
$result = mysql_query($sql); 
while($row = mysql_fetch_object($result)) 
{ 
echo $row->cid.'::'.$row->title.”<br>”; 
} 
$result = mysql_query($sql); 
while($row = mysql_fetch_assoc($result)) 
{ 
echo $row['cid'].'::'.$row[1].'<br>'; 
} 
?>

分析:
mysql_fetch_row,这个函数是从结果集中取一行作为枚举数据,从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。 注意,这里是从0开始偏移,也就是说不能用字段名字来取值,只能用索引来取值,所以如下代码是取不到值的:
while($row = mysql_fetch_row($res)){
echo $row['cid'].'::'.$row[1].”;
} //这里的$row['cid'] 取不到值。
mysql_fetch_array,从结果集中取得一行作为关联数组,或数字数组,或二者兼有,除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。 也就是说他得到的结果像数组一样,可以用key或者索引来取值,所以
while($row = mysql_fetch_array($res)){
echo $row['cid'].'::'.$row[1].”;
}//这里$row['cid'],$row[1]都能得到相应的值。
mysql_fetch_object,顾名思义,从结果集中取得一行作为对象,并将字段名字做为属性。所以只有这样才能取到值
while($row = mysql_fetch_object($res)){
echo $row->cid.'::'.$row->title.”";
}
mysql_fetch_assoc,从结果集中取得一行作为关联数组,也就是说这个函数不能像mysql_fetch_row那样用索引来取值,只能用字段名字来取,所以
while($row = mysql_fetch_assoc($res)){
echo $row['cid'].'::'.$row[1].”;
} //$row[1]这样是取不到值的
补充一点:
mysql_fetch_array函数是这样定义的:array mysql_fetch_array ( resource result [, int result_type]),返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
mysql_fetch_array() 中可选的第二个参数 result_type 是一个常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。其中:
1、mysql_fetch_assoc($result)==mysql_fetch_array($result,MYSQL_ASSOC);
2、mysql_fetch_row($result)==mysql_fetch_array($result,MYSQL_NUM);
所以mysql_fetch_array()函数在某种程度上可以算是mysql_fetch_row()与 mysql_fetch_assoc()的集合。另外,mysql_fetch_array()另外还有MYSQL_BOTH参数,将得到一个同时包含关 联和数字索引的数组。
在来说句 $row = $db->fetch_array($query);
$db是人数据库操作类,$db->fetch_array($query),fetch_array($query)是那个db类里的方法,$row = $db->fetch_array($query)这句的意思是从记录集$query中得到数据库中的一行记录。
不用类可这样实现
$conn=@mysql_connect($host,$user,$pass); 
@mysql_select_db($database,$conn); 
$query=mysql_query($sql); 
while($row=mysql_fetch_array($query)){ 
$rows[]=$row; 
}
PHP 相关文章推荐
PHP安装全攻略:APACHE
Oct 09 PHP
session 的生命周期是多长
Oct 09 PHP
php 空格,换行,跳格使用说明
Dec 18 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
Nov 22 PHP
php文件下载处理方法分析
Apr 22 PHP
php对象和数组相互转换的方法
May 12 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
PHP实现微信退款功能
Oct 02 PHP
laravel配置Redis多个库的实现方法
Apr 10 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
Sep 17 PHP
PHP 危险函数解释 分析
Apr 22 #PHP
php反弹shell实现代码
Apr 22 #PHP
将数组写入txt文件 var_export
Apr 21 #PHP
php 保留小数点
Apr 21 #PHP
PHP 中执行排序与 MySQL 中排序
Apr 21 #PHP
一个php导出oracle库的php代码
Apr 20 #PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 #PHP
You might like
FCKeditor的安装(PHP)
2007/01/13 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
php通过各种函数判断0和空
2020/07/04 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
Python socket实现简单聊天室
2018/04/01 Python
python图形绘制奥运五环实例讲解
2019/09/14 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
python使用Matplotlib改变坐标轴的默认位置
2019/10/18 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
Python celery原理及运行流程解析
2020/06/13 Python
Python 必须了解的5种高级特征
2020/09/10 Python
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
程序员岗位职责
2013/11/11 职场文书
教育专业自荐书范文
2013/12/17 职场文书
报社实习生自荐信
2014/01/24 职场文书
大学生先进事迹材料
2014/02/16 职场文书
运动会入场式解说词
2014/02/18 职场文书
2014政务公开实施方案
2014/02/19 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
司考复习计划
2015/01/19 职场文书
八年级物理教学反思
2016/02/19 职场文书