php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别


Posted in PHP onAugust 08, 2012

方法名:mssql_fetch_row()

测试:

require 'dbconn.php'; 
$sql = 'select * from _Test'; 
$query = mssql_query($sql); 
while($row=mssql_fetch_row($query)) 
{ 
echo $row['UserId'].'::'.$row[1].'<br>'; 
}

返回:

Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小一
Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小二
Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小三
Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小四
Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小五

分析:

mssql_fetch_row(),和用mssql_fetch_array()加上第二个可选参数 MYSQL_NUM 完全相同。从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。 注意,这里是从0开始偏移,不能用key值(字段名)来取值,只能用索引来取值。因此,这里使用$row['key值']无法取到值。

方法名: mssql_fetch_assoc()

测试:

$query = mssql_query($sql); 
while($row=mssql_fetch_assoc($query)) 
{ 
echo $row['UserId'].'::'.$row[1].'<br>'; 
}

返回:

Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 1::
Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 2::
Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 3::
Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 4::
Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 5::
分析:
mssql_fetch_assoc() 和用mssql_fetch_array()加上第二个可选参数 MYSQL_ASSOC 完全相同。它仅仅返回关联数组。这也是 mssql_fetch_array()起初始的工作方式。因此用$row[索引值]无法取到值。

方法名: mssql_fetch_array()

测试:

<?php 
$query = mssql_query($sql); 
while($row=mssql_fetch_array($query)) 
{ 
echo $row['UserId'].'::'.$row[1].'<br>'; 
} 
?>

返回:
1::王小一
2::王小二
3::王小三
4::王小四
5::王小五

分析:
mssql_fetch_array(),是mssql_fetch_row()的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。 因此这里使用$row['key值']和$row[索引值]皆可以取到值。

mssql_fetch_array() 中第二个参数result_type (这是一个常量)为可选参数,取值范围为:MYSQL_ASSOC ,MYSQL_NUM 和 MYSQL_BOTH 。其中:
mssql_fetch_array($query, MYSQL_ASSOC) == mssql_fetch_assoc($query);
mssql_fetch_array($query, MYSQL_NUM) == mssql_fetch_row($query);
所以mssql_fetch_array()函数在某种程度上可以算是mssql_fetch_row()与 mssql_fetch_assoc ()的集合。因此,mssql_fetch_array()另外还有MYSQL_BOTH参数,将得到一个同时包含关 联和数字索引的数组。

方法名: mssql_fetch_object()

测试:

$query=mssql_query($sql); 
while($row=mssql_fetch_object($query)) 
{ 
echo $row->UserId.'::'.$row->CreateTime."<br>"; 
}

返回:
1::06 7 2011 4:46PM
2::06 7 2011 4:46PM
3::06 7 2011 4:46PM
4::06 7 2011 4:46PM
5::06 7 2011 4:46PM

分析:

mysql_fetch_object() 和 mssql_fetch_array类似,只有一点区别,即返回一个对象而不是数组,并将字段名字做为属性。间接地也意味着只能通过字段名来访问,而不是偏移量。

PHP 相关文章推荐
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
Mar 16 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
php一次性删除前台checkbox多选内容的方法
Sep 22 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
PHP自带方法验证邮箱是否存在
Feb 01 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
php使用正则表达式去掉html中的注释方法
Nov 03 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 PHP
PHP容器类的两种实现方式示例
Jul 24 PHP
php中++i 与 i++ 的区别
Aug 08 #PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 #PHP
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 #PHP
php一个找二层目录的小东东
Aug 02 #PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 #PHP
PHP服务器页面间跳转实现方法
Aug 02 #PHP
php中3des加密代码(完全与.net中的兼容)
Aug 02 #PHP
You might like
Syphon 秘笈
2021/03/03 冲泡冲煮
php下保存远程图片到本地的办法
2010/08/08 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
js的with语句使用方法
2007/09/21 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
浅析JavaScript中的隐式类型转换
2013/12/05 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
2014/01/23 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
Python检测网络延迟的代码
2018/05/15 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
管理部部长岗位职责
2013/12/05 职场文书
大学生求职自我评价
2014/01/16 职场文书
关于教师节的广播稿
2014/09/10 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书