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 字符转义 注意事项
May 27 PHP
php 中文和编码判断代码
May 16 PHP
PHP在特殊字符前加斜杠的实现代码
Jul 17 PHP
PHP 代码规范小结
Mar 08 PHP
注意:php5.4删除了session_unregister函数
Aug 05 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
两个php日期控制类实例
Dec 09 PHP
PHP cURL初始化和执行方法入门级代码
May 28 PHP
PHP实现导出带样式的Excel
Aug 28 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
详解如何在云服务器上部署Laravel
Jun 30 PHP
Laravel5.7 Eloquent ORM快速入门详解
Apr 12 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提供实现反射的方法和实例代码
2019/09/17 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
jQuery aminate方法定位到页面具体位置
2013/12/26 Javascript
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
js实现简单扫雷
2020/11/27 Javascript
Python 多核并行计算的示例代码
2017/11/07 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
Python中GIL的使用详解
2018/10/03 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
python实现银行账户系统
2021/02/22 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
教师个人学习总结
2015/02/11 职场文书
大客户经理岗位职责
2015/04/09 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python
总结Java对象被序列化的两种方法
2021/06/30 Java/Android