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 数据库树的遍历方法
Feb 06 PHP
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
PHP sprintf()函数用例解析
May 18 PHP
解析PHP跨站刷票的实现代码
Jun 18 PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
分享一个漂亮的php验证码类
Sep 29 PHP
PHP生成唯一ID之SnowFlake算法
Dec 17 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 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
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
jquery ajax abort()的使用方法
2010/10/28 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
js实现下一页页码效果
2017/03/07 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
原生javascript实现连连看游戏
2019/01/03 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
小程序接入腾讯位置服务的详细流程
2020/03/03 Javascript
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
python groupby 函数 as_index详解
2019/12/16 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
毕业生怎样写好自荐信
2013/11/11 职场文书
医学实习生自我鉴定
2013/12/12 职场文书
大学生党课思想汇报
2013/12/29 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android