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 相关文章推荐
实现分十页分向前十页向后十页的处理
Oct 09 PHP
apache mysql php 源码编译使用方法
May 03 PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php保存信息到当前Session的方法
Mar 16 PHP
PHP滚动日志的代码实现
Jun 10 PHP
php实现简单的MVC框架实例
Sep 23 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
Yii2.0 RESTful API 基础配置教程详解
Dec 26 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 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 imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
理解php依赖注入和控制反转
2016/05/11 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
js校验表单后提交表单的三种方法总结
2014/02/28 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
React 高阶组件入门介绍
2018/01/11 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
七一表彰活动方案
2014/01/18 职场文书
小学假期安全广播稿
2014/09/28 职场文书
个人查摆剖析材料
2014/10/04 职场文书
材料员岗位职责范本
2015/04/11 职场文书
党员转正申请报告
2015/05/15 职场文书
导游词之包公祠
2019/11/25 职场文书
Nginx域名转发使用场景代码实例
2021/03/31 Servers
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android
详解Python如何批量采集京东商品数据流程
2022/01/22 Python