fetch_row,fetch_assoc,fetch_object这几个是从mysql查询结果集中取得数据的函数,让我们来看看他们之间的区别,自己记录下,便于日后遗忘了好查询,下面通过一个实例开始分析:

<?php

$link=mysql_connect(’localhost’,”root’,”);
mysql_select_db(’abc’,$link);
$sql = “select * from book”;
$result = mysql_query($sql);
while($row = mysql_fetch_row($result))
{
echo $row["cid"].’::’.$row[1].’<br>’;
}

$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo $row["cid"].’::’.$row[1].’<br>’;
}

$result = mysql_query($sql);
while($row = mysql_fetch_object($result))
{
echo $row->cid.’::’.$row->title.”<br>”;
}

$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row["cid"].’::’.$row[1].’<br>’;
}
?>
分析:

mysql_fetch_row,这个函数是从结果集中取一行作为枚举数据,从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结 果的列储存在一个数组的单元中,偏移量从 0 开始。 注意,这里是从0开始偏移,也就是说不能用字段名字来取值,只能用索引来取值,所以如下代码是取不到值的:

while($row = mysql_fetch_row($res)){
echo $row["cid"].’::’.$row[1].”;
} //这里的$row["cid"] 取不到值。

mysql_fetch_array,从结果集中取得一行作为关联数组,或数字数组,或二者兼有,除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。 也就是说他得到的结果像数组一样,可以用key或者索引来取值,所以

while($row = mysql_fetch_array($res)){
echo $row["cid"].’::’.$row[1].”;
}//这里$row["cid"],$row[1]都能得到相应的值。

mysql_fetch_object,顾名思义,从结果集中取得一行作为对象,并将字段名字做为属性。所以只有这样才能取到值
while($row = mysql_fetch_object($res)){
echo $row->cid.’::’.$row->title.””;
}

mysql_fetch_assoc,从结果集中取得一行作为关联数组,也就是说这个函数不能像mysql_fetch_row那样用索引来取值,只能用字段名字来取,所以

while($row = mysql_fetch_assoc($res)){
echo $row["cid"].’::’.$row[1].”;
}  //$row[1]这样是取不到值的

补充一点:

mysql_fetch_array函数是这样定义的:array mysql_fetch_array ( resource result [, int result_type]),返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE

mysql_fetch_array() 中可选的第二个参数 result_type 是一个常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。其中:
1、mysql_fetch_assoc($result)==mysql_fetch_array($result,MYSQL_ASSOC);
2、mysql_fetch_row($result)==mysql_fetch_array($result,MYSQL_NUM);

所以mysql_fetch_array()函数在某种程度上可以算是mysql_fetch_row()与 mysql_fetch_assoc()的集合。另外,mysql_fetch_array()另外还有MYSQL_BOTH参数,将得到一个同时包含关 联和数字索引的数组。

We need to show how that can be accelerated New world language teachers have reported worries about whether they will be able to succeed in helping student develop linguistic https://majesticpapers.com and cross-cultural abilities to

标签:
本文连接地址: http://www.fresker.com/archives/271 (转载注明出处)

回复

目前暂无评论

发表评论

你需要 登录 发表评论.