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 相关文章推荐
一个很方便的 XML 类!!原创的噢
Oct 09 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
php之readdir函数用法实例
Nov 13 PHP
php中Socket创建与监听实现方法
Jan 05 PHP
微信API接口大全
Apr 15 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
学习php设计模式 php实现观察者模式(Observer)
Dec 09 PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 PHP
PHP生成(支持多模板)二维码海报代码
Apr 30 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 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
风格模板初级不完全修改教程
2006/10/09 PHP
15种PHP Encoder的比较
2007/04/17 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
php制作的简单验证码识别代码
2016/01/26 PHP
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
2013/04/23 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
linux下安装easy_install的方法
2013/02/10 Python
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
金融专业求职信
2014/08/05 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
个人合作协议范本
2015/08/06 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript