PHP开发中四种查询返回结果分析


Posted in PHP onJanuary 02, 2011

1.<!--使用mysql_result()来获取数据-->

<?php 
$connection=mysql_connect("localhost","root","password"); //连接并选择数据库服务器 
mysql_select_db("test",$connection); 
$query="insert into users(user_name)"; //在test数据库里插入一条数据 
$query.="values('tuxiaohui')"; 
$result=mysql_query($query); 
if(!$query) 
echo "insert data failed!<br>"; 
else{ 
$query="select * from users"; //查询数据 
$result=mysql_query($query,$connection); 
for($rows_count=0;$rows_count<7;$rows_count++) //用mysql_result获得数据并输出,mysql_result() 返回 MySQL 结果集中一个单元的内容。 
{ 
echo "用户ID:".mysql_result($result,$rows_count,"user_id")."<br>"; 
echo "用户名:".mysql_result($result,$rows_count,"user_name")."<br>"; 
} 
} 
?>

2.<!--使用mysql_fetch_row()来获取数据,以数组的形式返回查询结果-->
<?php 
$connection=mysql_connect("localhost","root","password"); //连接并选择数据库服务器 
mysql_select_db("test",$connection); 
$query="select * from users"; 
$result=mysql_query($query,$connection); 
while($row=mysql_fetch_row($result)) 
{ 
echo "用户ID:".$row[0]."<br>"; 
echo "用户名:".$row[1]."<br>"; 
} 
?>

3.<!--使用mysql_fetch_array()来获取数据,同mysql_fetch_row()类似,也是获取结果集中当前行数据,并在调用后自动滑向下一行-->
<?php 
$connection=mysql_connect("localhost","root","password"); //连接并选择数据库服务器 
mysql_select_db("test",$connection); 
$query="select * from users"; 
$result=mysql_query($query,$connection); 
while($row=mysql_fetch_array($result)) 
{ 
echo "用户ID:".$row[0]."<br>"; //也可以写做$row["user_id"] 
echo "用户名:".$row[1]."<br>"; //也可以写做$row["user_name"] 
} 
?>

4.<!--使用mysql_fetch_object()以对象的形式返回查询结果,也是用于查询数据结果集,返回当前行数据,并自动滑向下一行,不同的是它返回的是一个对象,这个对象的属性集合即为数据的属性集合,而属性上的值则为数据库中当前行该属性上的值-->
<?php 
$connection=mysql_connect("localhost","root","root"); //连接并选择数据库服务器 
mysql_select_db("test",$connection); 
$query="select * from users"; 
$result=mysql_query($query,$connection); 
while($row=mysql_fetch_object($result)) 
{ 
echo "用户ID:".$row->user_id."<br>"; //通过对象运算符->获得改行数据在其属性上的值。 
echo "用户名:".$row->user_name."<br>"; 
} 
?>

5.综合比较:
mysql_result():优点在于使用方便;其缺点在于功能少,一次调用只能获取结果数据集中的一行元素,对较大型的数据库效率较低;
mysql_fetch_row():优点在于执行效率在4种方法中最高;不足在于只能用数字作为属性索引来获得属性值,在使用时非常容易出现混淆;
mysql_fetch_array():执行效率同样高,同mysql_fetch_row()相差无几,并界可以用属性名方式直接获得属性值,因此在实际应用中最常用;
mysql_fetch_object():采用了面向对象思想,在设计思路上更为先进,如果习惯于用面向对象的思路来写程序,则会很自地选择它。其次,该方法的优点还体现在,对于结构较为负责的数据结果,在逻辑上更为清晰。
PHP 相关文章推荐
在php中取得image按钮传递的name值
Oct 09 PHP
PHP中date()日期函数有关参数整理
Jul 19 PHP
php之Memcache学习笔记
Jun 17 PHP
Yii中CGridView关联表搜索排序方法实例详解
Dec 03 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
Zend Studio使用技巧两则
Apr 01 PHP
PHP登录验证码的实现与使用方法
Jul 07 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
PHP遍历目录文件的常用方法小结
Feb 03 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
Oct 13 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
Sep 17 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 #PHP
PHP中=赋值操作符对不同数据类型的不同行为
Jan 02 #PHP
完美实现GIF动画缩略图的php代码
Jan 02 #PHP
php实现无限级分类实现代码(递归方法)
Jan 01 #PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 #PHP
PHP读取XML值的代码(推荐)
Jan 01 #PHP
PHP中simplexml_load_string函数使用说明
Jan 01 #PHP
You might like
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
php导入模块文件分享
2015/03/17 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
Document对象内容集合(比较全)
2010/09/06 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
jQuery调取jSon数据并展示的方法
2015/01/29 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
[01:15:16]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第一场 1月26日
2021/03/11 DOTA
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
python实现简易动态时钟
2018/11/19 Python
eclipse创建python项目步骤详解
2019/05/10 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
Python文件操作函数用法实例详解
2019/12/24 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
Python super()函数使用及多重继承
2020/05/06 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
客服服务心得体会
2013/12/30 职场文书
上课迟到检讨书
2014/02/19 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
如何用python反转图片,视频
2021/04/24 Python
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android