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 版本]
Mar 20 PHP
dedecms模版制作使用方法
Apr 03 PHP
一些 PHP 管理系统程序中的后门
Aug 05 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
Jul 22 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
js代码实现微博导航栏
Jul 30 PHP
php实现多城市切换特效
Aug 09 PHP
PHP实现微信发红包程序
Aug 24 PHP
php+mysql实现无限级分类
Nov 11 PHP
PHP Cookie学习笔记
Aug 23 PHP
cakephp常见知识点汇总
Feb 24 PHP
php实现表单提交上传文件功能
May 28 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的变量总结 新手推荐
2011/04/18 PHP
JS 网站性能优化笔记
2011/05/24 PHP
jquery 指南/入门基础
2007/11/30 Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
微信小程序App生命周期详解
2018/01/31 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
Django如何开发简单的查询接口详解
2019/05/17 Python
Python 项目转化为so文件实例
2019/12/23 Python
.NET程序员的数据库面试题
2012/10/10 面试题
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
JAVA招聘远程笔试题
2015/07/23 面试题
2015年全国爱眼日活动小结
2015/02/27 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
2015双创工作总结
2015/07/24 职场文书
服装店员工管理制度
2015/08/07 职场文书
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android