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 相关文章推荐
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 PHP
Gregarius中文日期格式问题解决办法
Apr 22 PHP
ajax+php打造进度条代码[readyState各状态说明]
Apr 12 PHP
PHP_Cooikes不同页面无法传递的解决方法
Mar 07 PHP
Linux中用PHP判断程序运行状态的2个方法
May 04 PHP
php自定义apk安装包实例
Oct 20 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
学习php设计模式 php实现状态模式
Dec 07 PHP
PHP编程入门的基本语法知识点总结
Jan 26 PHP
PHP获取当前文件的父目录方法汇总
Jul 21 PHP
php加密解密字符串示例
Oct 13 PHP
php动态读取数据清除最右边距的方法
Apr 12 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
Protoss魔法科技
2020/03/14 星际争霸
PHP文本操作类
2006/11/25 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
script标签属性type与language使用选择
2012/12/02 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
JavaScript基础知识之方法汇总结
2016/01/24 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
webpack学习--webpack经典7分钟入门教程
2017/06/28 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
毕业生求职找工作的自我评价范文
2013/11/27 职场文书
违纪检讨书2000字
2014/02/08 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
小学语文课后反思精选
2014/04/25 职场文书
会议开幕词
2015/01/28 职场文书
投标单位介绍信
2015/05/05 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书