PHP 常用的四个fetch的区别
在php中,经常使用mysqli_fetch从数据库返回的结果集中取数据,最常用的是mysqli_fetch_assoc(),mysqli_fetch_row(),mysqli_fetch_array(),mysqli_fetch_object(),在使用时,它们的差异如下:
$publicMes = mysqli_fetch_assoc($res);
var_dump($publicMes);
结果如下:
$a = mysqli_fetch_row($res);
var_dump($a);
结果如下
$b = mysqli_fetch_array($res);
var_dump($b);
echo $b[1].'<br/>';
echo $b['user'];
结果如下:
$c = mysqli_fetch_object($res);
var_dump($c);
结果如下:
综上:
fetch_assoc() 返回的是关联数组,使用数据库字段作为键值来取值,
fetch_row()返回的是索引数组,使用索引取值,
fetch_array()返回的是关联数组,既有索引号,也有字段,通过这两种方式都能取值,
fetch_object()返回的是对象.
注意:
所有的fetch从数据库返回的结果集中取数据 每次只取一条,取完指针下移,下次使用再取新的,因此需要使用while循环来取尽所有值,如果循环之前使用了一次fetch会导致数据不全