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查询域名状态whois的类
Nov 25 PHP
php+mysql事务rollback&amp;commit示例
Feb 08 PHP
ionCube 一款类似zend的PHP加密/解密工具
Jul 25 PHP
深入php函数file_get_contents超时处理的方法详解
Jun 03 PHP
深入探讨<br />和 \r\n两者有什么区别??
Jun 05 PHP
解析php中两种缩放图片的函数,为图片添加水印
Jun 14 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
测试php函数的方法
Nov 13 PHP
php实现singleton()单例模式实例
Nov 06 PHP
php实现多城市切换特效
Aug 09 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
Aug 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
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
RGB颜色值转HTML十六进制(HEX)代码的JS函数
2009/04/25 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
python实现爬取千万淘宝商品的方法
2015/06/30 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
美国批发供应商:Kole Imports
2019/04/10 全球购物
如何设置Java的运行环境
2013/04/05 面试题
酒店员工培训方案
2014/06/02 职场文书
信用卡工作证明模板
2014/09/14 职场文书
学校运动会广播稿
2014/10/11 职场文书
酒店财务部岗位职责
2015/04/14 职场文书
Nginx域名转发使用场景代码实例
2021/03/31 Servers
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python
MySQL常见优化方案汇总
2022/01/18 MySQL
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB