在使用mysql_query()取得查询数据库结果时,返回的是一个资源,想要对资源进行操作就需要用fetch方法取得资源数组。
如对这个数据库进行查询
1、mysql_fetch_row()
mysql_fetch_row每次从执行从结果集中取出一条数据并以索引数组的形式返回,数组的索引对应查询时字段的顺序
例如select *查询所有字段,则返回结果$row[0]对应number字段,$row[3]对应job字段
对数组的操作只能采用数字索引
当取到最后一条结果后,下一条返回空(false)
$sql='select * from staff';
$result=mysql_query($sql);
$row=mysql_fetch_row($result);
echo '<pre>';
print_r($row);
echo '</pre>';
echo $row[1].'的性别:'.$row[2].',职位:'.$row[3].'<br/>';
执行结果为
2、mysql_fetch_assoc()
mysql_fetch_assoc返回关联数组,数组索引对应字段的关键字,对数组的操作只能采用关键字
$row2=mysql_fetch_assoc($result);
echo '<pre>';
print_r($row2);
echo '</pre>';
echo '名字为:'.$row2['name'];
结果如下:
3、mysql_fetch_array()
mysql_fetch_array默认返回索引与关联数组,对数组操作可用采用数字索引或关键字
其第二个参数可选:MYSQL_NUM(只返回索引数组),MYSQL_ASSOC(只返回关联数组)
$row3=mysql_fetch_array($result);结果如下:
echo '<pre>';
print_r($row3);
echo '</pre>';
4、mysql_fetch_object()
mysql_fetch_object返回一个数组对象,以对象属性的方式操作数据
$row4=mysql_fetch_object($result);
echo '<pre>';
print_r($row4);
echo '</pre>';
echo '名字为:'.$row4->name;
结果如下:
四种方式最主要的区别是返回数组的形式不同,在实际编程中可用按需要进行选择。