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自定义函数收代码
Aug 01 PHP
thinkphp 多表 事务详解
Jun 17 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
php快速查找数据库中恶意代码的方法
Apr 01 PHP
PHP魔术方法的使用示例
Jun 23 PHP
CI框架支持$_GET的两种实现方法
May 18 PHP
PHP快速推送微信模板消息
Apr 14 PHP
php实现查询功能(数据访问)
May 23 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
Aug 02 PHP
phpStudy配置多站点多域名和多端口的方法
Sep 01 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 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
实用函数5
2007/11/08 PHP
php cookie 作用范围?不要在当前页面使用你的cookie
2009/03/24 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
网站上面有这种切换效果
2006/06/26 Javascript
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
浅谈在Vue-cli里基于axios封装复用请求
2017/11/06 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
Python深入学习之装饰器
2014/08/31 Python
Python base64编码解码实例
2015/06/21 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
英国领先的游戏零售商:GAME
2019/09/24 全球购物
产品促销活动策划书
2014/01/15 职场文书
《槐乡五月》教学反思
2014/04/25 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
党员志愿者活动方案
2014/08/28 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python