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 相关文章推荐
模仿OSO的论坛(二)
Oct 09 PHP
php利用header函数实现文件下载时直接提示保存
Nov 12 PHP
国外比较好的几个的Php开源建站平台小结
Apr 22 PHP
在yii中新增一个用户验证的方法详解
Jun 20 PHP
PHP中feof()函数实例测试
Aug 23 PHP
php实现Mysql简易操作类
Oct 11 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
php使用curl详细解析及问题汇总
Aug 11 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
php基于session锁防止阻塞请求的方法分析
Aug 07 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
Oct 26 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 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
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
Django发送邮件和itsdangerous模块的配合使用解析
2019/08/10 Python
python操作cfg配置文件方式
2019/12/22 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
python文件及目录操作代码汇总
2020/07/08 Python
Python 测试框架unittest和pytest的优劣
2020/09/26 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
android面试问题与答案
2016/12/27 面试题
大学生收银员求职信分享
2014/01/02 职场文书
大学毕业感言200字
2014/03/09 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
信访维稳工作汇报
2014/10/27 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
员工年终考核评语
2014/12/31 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
计生个人工作总结
2015/02/28 职场文书
详解mysql三值逻辑与NULL
2021/05/19 MySQL
Nginx缓存设置案例详解
2021/09/15 Servers