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可变函数的经典用法
Jun 20 PHP
php中sql注入漏洞示例 sql注入漏洞修复
Jan 24 PHP
destoon公司主页模板风格的添加方法
Jun 20 PHP
php中rename函数用法分析
Nov 15 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
PHP实现查询两个数组中不同元素的方法
Feb 23 PHP
php编程中echo用逗号和用点号连接的区别
Mar 26 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 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
单位速度在实战中的运用
2020/03/04 星际争霸
PHP 5.0对象模型深度探索之绑定
2006/09/05 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
JavaScript 异步调用框架 (Part 1 - 问题 &amp; 场景)
2009/08/03 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
python简单读取大文件的方法
2016/07/01 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
医科大学生毕业的自我评价分享
2013/11/12 职场文书
销售业务员岗位职责
2015/02/13 职场文书
小学三年级作文之写景
2019/11/05 职场文书
python可视化之颜色映射详解
2021/09/15 Python