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 相关文章推荐
模拟OICQ的实现思路和核心程序(二)
Oct 09 PHP
如何开发一个虚拟域名系统
Oct 09 PHP
PHP设计模式 注册表模式
Feb 05 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
php代码审计比较有意思的例子
May 07 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
Jul 28 PHP
PHP可变函数学习小结
Nov 29 PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 PHP
PHP实现对xml的增删改查操作案例分析
May 19 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
PHP有序表查找之插值查找算法示例
Feb 10 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
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
javascript 树控件 比较好用
2009/06/11 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
美国滑板店:Tactics
2020/11/08 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
陈欧的广告词
2014/03/18 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
辞职信格式模板
2015/02/27 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
2022/03/03 Python
flex弹性布局详解
2022/03/20 HTML / CSS