码迷,mamicode.com
首页 > 数据库 > 详细

mysqli_fetch_all

时间:2016-12-26 16:31:50      阅读:311      评论:0      收藏:0      [点我收藏+]

标签:模块   mysq   blog   环境   重新安装   pre   存在   ora   遍历   

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

$result = mysqli_query($con, $sql);
$posts =  mysqli_fetch_all($result, MYSQLI_ASSOC);

加上MYSQLI_ASSOC是为了使返回的是关联数组,之后就可以遍历$posts数组。当将这段代码放到线上环境时,发现没有结果,最后才知道原来是mysqli_fetch_all函数无法使用。 google之后才知道,mysqli_fetch_all这个函数只存在于mysqlnd中,也就是PHP的原生MySQL驱动中。原来链接MySQL存在两套驱动,一套是libmysql,一套是mysqlnd。本来mysqlnd是不存在的,后来因为mysql到了Oracle手上之后,驱动的认证就有些问题了,于是PHP开发组自己开发了一套mysql驱动。

可是在linux下,安装mysqli时还是默认使用libmysql,所以要么就得重新安装mysqli模块,使用mysqlnd驱动安装,或者自己来实现mysqli_fetch_all的功能。暂时先自己实现类似的功能。

$result = mysqli_query($con, $sql);
$posts = array();
while($row = mysqli_fetch_array($result)) {
    $posts[] = $row;
}

 

mysqli_fetch_all

标签:模块   mysq   blog   环境   重新安装   pre   存在   ora   遍历   

原文地址:http://www.cnblogs.com/tyx91/p/6222526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!