php中返回查询数据集四种方法
发布:smiling 来源: PHP粉丝网 添加日期:2014-01-15 08:57:02 浏览: 评论:0
php中 mysql_result mysql_fetch_row mysql_fetch_array mysql_fetch_object四种函数的详细说明.
mysql_result():优点在于使用方便;其缺点在于功能少,一次调用只能获取结果数据集中的一行元素,对较大型的数据库教程效率较低;
mysql_result() 函数返回结果集中一个字段的值,如果成功,则该函数返回字段值,如果失败,则返回 false。
语法:mysql_result(data,row,field)
参数:row 必需,规定行号,行号从 0 开始。
参数:field 可选,规定获取哪个字段,可以是字段偏移值,字段名或 table.fieldname,如果该参数未规定,则该函数从指定的行获取第一个字段。
- <?php
- $con = mysql_connect("localhost", "hello", "321");
- if (!$con)
- {
- die('could not connect: ' . mysql_error());
- }
- $db_selected = mysql_select_db("test_db", $con);
- $sql = "select * from person";
- $result = mysql_query($sql,$con);
- echo mysql_result($result,0);
- mysql_close($con);
- ?>
mysql_fetch_row():优点在于执行效率在4种方法中最高;不足在于只能用数字作为属性索引来获得属性值,在使用时非常容易出现混淆;
mysql_fetch_row() 函数从结果集中取得一行作为数字数组。
语法:mysql_fetch_row(data)
说明:mysql_fetch_row() 从和结果标识 data 关联的结果集中取得一行数据并作为数组返回,每个结果的列储存在一个数组的单元中,偏移量从 0 开始。
依次调用 mysql_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 false。
返回值:返回根据所取得的行生成的数组,如果没有更多行则返回 false,例子如下:
- <?php
- $con = mysql_connect("localhost", "hello", "321");
- if (!$con)
- {
- die('could not connect: ' . mysql_error());
- }
- $db_selected = mysql_select_db("test_db",$con);
- $sql = "select * from person where lastname='adams'";
- $result = mysql_query($sql,$con);
- print_r(mysql_fetch_row($result));
- mysql_close($con);
- ?>
输出:
- array
- (
- [0] => adams
- [1] => john
- [2] => london
- )
mysql_fetch_array():执行效率同样高,同mysql_fetch_row()相差无几,并且可以用属性名方式直接获得属性值,因此在实际应用中最常用;
定义和用法
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有,返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。
语法:mysql_fetch_array(data,array_type)
array_type 可选,规定返回哪种结果,可能的值:
mysql_assoc - 关联数组
mysql_num - 数字数组
mysql_both - 默认,同时产生关联和数字数组
提示和注释
注释:mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。
提示:有很重要的一点必须指出,用 mysql_fetch_array() 并不明显比用 mysql_fetch_row() 慢,而且还明显提供了更多的值。
注释:本函数返回的字段名是区分大小写的,例子:
- <?php
- $con = mysql_connect("localhost", "hello", "321");
- if (!$con)
- {
- die('could not connect: ' . mysql_error());
- }
- $db_selected = mysql_select_db("test_db",$con);
- $sql = "select * from person where lastname='adams'";
- $result = mysql_query($sql,$con);
- print_r(mysql_fetch_array($result));
- mysql_close($con);
- ?>
- //输出类似:
- array
- (
- [0] => adams
- [lastname] => adams
- [1] => john
- [firstname] => john
- [2] => london
- [city] => london
- )
mysql_fetch_object():采用了面向对象思想,在设计思路上更为先进,如果习惯于用面向对象的思路来写程序,则会很自地选择它,其次,该方法的优点还体现在,对于结构较为负责的数据结果,在逻辑上更为清晰。
mysql_fetch_object() 函数从结果集(记录集)中取得一行作为对象。
若成功的话,本函数从 mysql_query() 获得一行,并返回一个对象,如果失败或没有更多的行,则返回 false。
语法:mysql_fetch_object(data)
参数:data 必需,要使用的数据指针,该数据指针是从 mysql_query() 返回的结果。
提示和注释
注释:每个随后对 mysql_fetch_object() 的调用都会返回记录集中的下一行。
注释:mysql_fetch_object() 与 mysql_fetch_array() 类似,只有一点区别 - 返回的是对象而不是数组,间接地,也意味着只能通过字段名来访问数组,而不是偏移量,例子:
- <?php
- $con = mysql_connect("localhost", "peter", "abc123");
- if (!$con)
- {
- die('could not connect: ' . mysql_error());
- }
- $db_selected = mysql_select_db("test_db",$con);
- $sql = "select * from person";
- $result = mysql_query($sql,$con);
- while ($row = mysql_fetch_object($result))
- {
- echo $row->firstname . "<br />";
- }
- mysql_close($con);
- ?>
输出:john,george,thomas
Tags: php 返回 查询 数据
- 上一篇:php中生成随机密码几种方法
- 下一篇:php 数据类型和变量
相关文章
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·PHP 数据类型(2013-11-12)
- ·php 获取当前脚本的url(2013-11-12)
- ·php技术生成静态页面的实现(2013-11-13)
- ·缺陷月项目启动 披露PHP脚本语言漏洞(2013-11-13)
- ·在PHP中全面阻止SQL注入式攻击(2013-11-13)
- ·php生成随机密码的几种方法(2013-11-13)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·如何使用PHP开发高效的WEB系统(2013-11-13)
- ·php:树形结构的算法(2013-11-13)
- ·php4和php5区别(2013-11-13)
- ·php数据库连接(2013-11-13)
- ·如何正确理解PHP的错误信息(2013-11-13)
- ·php页面漏洞分析及相关问题解决(2013-11-13)
- ·当在连接PHP时,抱怨一些数值没有定义参考?(2013-11-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)