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手机号码归属地查询代码(API接口/mysql)
Sep 04 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
php实现统计邮件大小的方法
Aug 06 PHP
php实现读取超大文件的方法
Jul 28 PHP
CI框架学习笔记(二) -入口文件index.php
Oct 27 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
PHP版QQ互联OAuth示例代码分享
Jul 05 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
PHP创建word文档的方法(平台无关)
Mar 29 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
Feb 16 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
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
PHP中的事务使用实例
2015/05/26 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
jquery ajax abort()的使用方法
2010/10/28 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
python之从文件读取数据到list的实例讲解
2018/04/19 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
毕业生怎样写好自荐信
2013/11/11 职场文书
社团招新策划书
2014/02/04 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
2014年防汛工作总结
2014/12/08 职场文书
2016年校长新年寄语
2015/08/17 职场文书
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
MongoDB支持的索引类型
2022/04/11 MongoDB
vue组件vue-esign实现电子签名
2022/04/21 Vue.js