关于mysqli_fetch_assoc的一点说明

时间:2022-07-23 04:08:28

关于mysqli_fetch_assoc的一点说明

   
如下2种用法是错误的:
错误1
....
$fetchResult = mysqli_fetch_assoc($queryResult);
while($fetchResult){
var_dump($fetchResult);
}
这样写指针并没有按照想象的那样逐个往下移,相反运行一下是死循环。
原因是第一行代码mysqli_fetch_assoc已经取出一个数组赋给了变量$fetchResult,此时$fetchResult已经是一个不变的数组了,所以会陷入死循环  
错误2
....
while( myslqi_fetch_assoc ($queryResult) ){
var_dump( mysqli_fetch_assoc( $queryResult) );
}
这样写,如果查询结果有5条记录,那么只会输出第二,第四条记录,如果有6条记录,只会输出第2,4,6条记录
原因在于 指针第一次在条件while里,第二次在下面的var_dump里,第三次又在while里......
 
正确的用法应该是如下
 
while ( $fetchResult = mysqli_fetch_assoc($queryResult ) ){
var_dump ( $fetchResult );
}
这样指针会逐个下移,直到最后。