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 相关文章推荐
function.inc.php超越php
Dec 09 PHP
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
PHP中Date获取时间不正确怎么办
Jun 05 PHP
php中模拟POST传递数据的两种方法分享
Sep 16 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
php使用curl和正则表达式抓取网页数据示例
Apr 13 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
Jun 20 PHP
PHP读取、解析eml文件及生成网页的方法示例
Sep 04 PHP
PHP7变量处理机制修改
Mar 09 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输出Excel文件类
2010/02/08 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
vuex实现数据状态持久化
2019/11/11 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
Python中的tuple元组详细介绍
2015/02/02 Python
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
python中下标和切片的使用方法解析
2019/08/27 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
移动通信行业实习自我鉴定
2013/09/28 职场文书
高中生操行评语
2014/04/25 职场文书
意向书范本
2014/07/29 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
小学工作总结2015
2015/05/04 职场文书
初三英语教学反思
2016/02/15 职场文书
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers