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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
PHP3 safe_mode 失效漏洞
Oct 09 PHP
PR值查询 | PageRank 查询
Dec 20 PHP
说明的比较细的php 正则学习实例
Jul 30 PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
Dec 19 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
Yii2中使用join、joinwith多表关联查询
Jun 30 PHP
PHP实现简单的计算器
Aug 28 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
用PHP读注册表
2006/10/09 PHP
PHP 存取 MySQL 数据库的一个例子
2006/10/09 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
curl和libcurl的区别简介
2015/07/01 PHP
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
Vue中的Props(不可变状态)
2018/09/29 Javascript
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
python数字图像处理之高级滤波代码详解
2017/11/23 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Python不支持 i ++ 语法的原因解析
2020/07/22 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
thinkphp5 路由分发原理
2021/03/18 PHP
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
三星美国官网:Samsung美国
2017/02/06 全球购物
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
我的动漫时代的创业计划书范文
2014/01/27 职场文书
电气自动化个人求职信范文
2014/02/03 职场文书
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
保密普查工作实施方案
2014/02/25 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
社区文艺活动方案
2014/08/19 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
情感电台广播稿
2015/08/18 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
Redis入门教程详解
2021/08/30 Redis