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 相关文章推荐
php4的session功能评述(三)
Oct 09 PHP
PHP安全配置
Dec 06 PHP
PHP取得一个类的属性和方法的实现代码
May 22 PHP
PHP中PDO基础教程 入门级
Sep 04 PHP
php实现水仙花数示例分享
Apr 03 PHP
PHP解码unicode编码的中文字符代码分享
Aug 13 PHP
简单谈谈php中ob_flush和flush的区别
Nov 27 PHP
8个PHP程序员常用的功能汇总
Dec 18 PHP
初识PHP中的Swoole
Apr 05 PHP
kindeditor 加入七牛云上传的实例讲解
Nov 12 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 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的explode和implode的使用说明
2011/07/17 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
php json转换成数组形式代码分享
2014/11/10 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
python中模块的__all__属性详解
2017/10/26 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
"火柴棍式"程序员面试题
2014/03/16 面试题
班会关于环保演讲稿
2013/12/29 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
2016公司年会主持词
2015/07/01 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
小学运动会前导词
2015/07/20 职场文书
病房管理制度范本
2015/08/06 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript