mysql_fetch_assoc、mysql_fetch_object、mysql_fetch_row、mysql_fetch_array用法学习
2017-05-29 23:13
621 查看
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
lisi
wangwu 对象成员变量的访问只能通过对象->成员变量的方式访问。
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。
输出结果:
Array
(
[0] => zhang
[LastName] => zhang
[1] => san
[FirstName] => san
[2] => beijing
[City] => beijing
) 此种方式就是row、assoc两种方式的结合了,使用哪种访问都可以。
上面四个函数在结果集的遍历过程性能方面本人还没做过测试,不好下定论。
总结:个人项目中用到的最多的是第一个,不要问我为什么,个人喜好而已。
上面的话是一个概述,四个函数的使用还是有差别的,具体如下:
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
lisi
wangwu 对象成员变量的访问只能通过对象->成员变量的方式访问。
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两种方式的结合了,使用哪种访问都可以。
上面四个函数在结果集的遍历过程性能方面本人还没做过测试,不好下定论。
总结:个人项目中用到的最多的是第一个,不要问我为什么,个人喜好而已。
相关文章推荐
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc,的用法及区别
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc以及mysql_fetch_object的区别
- [转]mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc的区别
- mysql_fetch_assoc()和mysql_fetch_array()以及mysql_fetch_row()、mysql_fetch_object()的区别
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc的区别!
- mysql_fetch_assoc()和mysql_fetch_array()以及mysql_fetch_row()、mysql_fetch_object()的区别
- 【旧资料整理】php mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc,msql_fetch_object的区别
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc的区别
- [转]mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc的区别
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc的区别
- php函数mysql_fetch_row、assoc、array、object的区别
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc的区别
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc
- MySql中mysql_fetch_row,mysq_fetch_assoc,mysql_fetch_array,mysql_fetch_object用处
- 关于mysql_fetch_row(),mysql_fetch_assoc(),mysql_fetch_array(),mysql_fetch_object(),mysql_result()的区别。
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
- mysql_fetch_row ,mysql_fetch_assoc. mysql_fetch_array的区别