mysql_fetch_assoc、mysql_fetch_object、mysql_fetch_row、mysql_fetch_array用法学习

来源:互联网 发布:mysql 视图 性能 编辑:程序博客网 时间:2024/05/29 18:49

mysql_fetch_assoc、mysql_fetch_object、mysql_fetch_row、mysql_fetch_array四个函数都是用来进行获取结果集中的一条记录的,通过while循环对结果集进行遍历操作。

上面的话是一个概述,四个函数的使用还是有差别的,具体如下:

1、mysql_fetch_assoc()

从结果集中取得一行作为关联数组,如果没有更多行,则返回 false。

<?php$con = mysql_connect("localhost", "root", "123456") or die('数据库连接失败');$db_selected = mysql_select_db("test",$con);$sql = "SELECT * from person WHERE Lastname=zhang";$result = mysql_query($sql,$con);print_r(mysql_fetch_assoc($result));mysql_close($con);?>

输出:

Array([LastName] => zhang[FirstName] => san[City] => beijing) 
注意:上面的是关联数组,而且字段名是区分大小写的。


2、mysql_fetch_object()

从结果集(记录集)中取得一行作为对象,如果失败或没有更多的行,则返回 false。

<?php$con = mysql_connect("localhost", "root", "123456") or die('数据库连接失败');$db_selected = mysql_select_db("test",$con);$sql = "SELECT * from person";$result = mysql_query($sql,$con);while($item=mysql_fetch_object($result)){echo $item->FirstName."<br/>" ;}mysql_close($con);?>

输出:

zhangsan lisiwangwu 
对象成员变量的访问只能通过对象->成员变量的方式访问。


3、mysql_fetch_row()

从结果集中取得一行作为索引数组

<?php$con = mysql_connect("localhost", "root", "123456") or die('数据库连接失败');$db_selected = mysql_select_db("test",$con);$sql = "SELECT * from person WHERE Lastname=zhang";$result = mysql_query($sql,$con);print_r(mysql_fetch_row($result));mysql_close($con);?>
输出:

Array([0] => zhang[1] => san[2] => beijing)
索引数组的访问只能通过下标的方式进行访问。


4、mysql_fetch_array()

从结果集中取得一行作为关联数组,或索引数组,或二者兼有,返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。

<?php$con = mysql_connect("localhost", "root", "123456") or die('数据库连接失败');$db_selected = mysql_select_db("test",$con);$sql = "SELECT * from person WHERE Lastname=zhang";$result = mysql_query($sql,$con);print_r(mysql_fetch_array($result));mysql_close($con);?>

输出结果:

Array([0] => zhang[LastName] => zhang[1] => san[FirstName] => san[2] => beijing[City] => beijing) 
此种方式就是row、assoc两种方式的结合了,使用哪种访问都可以。


上面四个函数在结果集的遍历过程性能方面本人还没做过测试,不好下定论。


总结:个人项目中用到的最多的是第一个,不要问我为什么,个人喜好而已。


阅读全文
0 0
原创粉丝点击