首页 > PHP

mysqli_fetch_assoc()和mysqli_fetch_row()区别,两个函数区别?

2022-10-27 15:19:06 木卢 百度收录

php中,php中php中mysqli_fetch_assoc()与mysqli_fetch_row()都是把查询结果的第一行返回到一个数组中,不同的是mysqli_fetch_assoc()是通过关键字索引取值,而mysqli_fetch_row()是通过索引id取值。

mysqli_fetch_assoc()和mysqli_fetch_row()这两个函数有一个特点,就是,如果下一次执行时,会在上一次的基础上,指针下移;所以可以利用此特性遍历出所有结果集,存入数组中。

代码示例:

<?php
$conn=mysqli_connect('localhost','数据库账号','数据库密码','数据库名称');
$rows=mysqli_query($conn,"select * from 表名");
while($r=mysqli_fetch_assoc($rows) and $i<11){
    echo '';
    echo ''.$r['id'].''.$r['name'].''.$r['email'].''; 
    echo '';
}
<?php
$conn=mysqli_connect('localhost','root','123456','diguo2');
$rows=mysqli_query($conn,"select * from student");
while($r=mysqli_fetch_row($rows) and $i<11){
    echo '';
    echo ''.$r[1].''.$r[2].''.$r[3].'';
    echo '';
}

另外,许多情况下,都需要将mysql的查询结果转成一个数组,这个就可以遍历数组来显示,查询结果。在我的开发环境里,我使用mysqli_fetch_all函数,使用方法如下:

$rows=mysqli_query($conn,"select * from 表名");

mysqli_fetch_all($rows,MYSQLI_ASSOC);

加上MYSQLI_ASSOC是为了使返回的是关联数组,之后就可以遍历$posts数组。当将这段代码放到线上环境时,发现没有结果,最后才知道原来是mysqli_fetch_all函数无法使用。

评论列表 暂无评论
发表评论
微信