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 相关文章推荐
实用函数2
Nov 08 PHP
php设计模式 Builder(建造者模式)
Jun 26 PHP
基于wordpress主题制作的具体实现步骤
May 10 PHP
PHP实现下载断点续传的方法
Nov 12 PHP
windows下安装php的memcache模块的方法
Apr 07 PHP
php导出中文内容excel文件类实例
Jul 06 PHP
优化WordPress的Google字体以加速国内服务器上的运行
Nov 24 PHP
php实现在线通讯录功能(附源码)
May 13 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 PHP
PHP中利用sleep函数实现定时执行功能实现代码
Aug 25 PHP
详解php实现页面静态化原理
Jun 21 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 30 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
PHP下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
Javascript模块模式分析
2008/05/16 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
编写简单的Python程序来判断文本的语种
2015/04/07 Python
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
Python实现FLV视频拼接功能
2020/01/21 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
酒店服务与管理毕业生求职信
2013/11/02 职场文书
入党推优材料
2014/06/02 职场文书
集中采购方案
2014/06/10 职场文书
学校联谊协议书
2014/09/16 职场文书
质检员岗位职责
2015/02/03 职场文书
婚礼家长致辞
2015/07/27 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android