mysqli_fetch_all

许多情况下,都需要将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;
}
时间: 2024-12-15 09:22:15

mysqli_fetch_all的相关文章

PHP mysqli_fetch_all() 函数

PHP mysqli_fetch_all() 函数  PHP MySQLi 参考手册 实例 从结果集中取得所有行作为关联数组: <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect("localhost","root","123456","RUNOOB"); if (mysqli_connect_errno($con)) {     echo &q

PHP 优化详解

笔者收集的这些技巧来源较广,完整性不能保证. 由于数量较多,这些优化技巧没有经过测试.请各位看官在使用之前自行测试,毕竟这些技巧是否能派上用场,还是需要由PHP所在的独特环境所决定的. 目录索引 找到瓶颈(Finding the Bottleneck) 缓存 (Caching) 编译 vs. 解释(Compiling vs. Interpreting) 代码减肥 (Content Reduction) 多线程与多进程(Multithreading & Multiprocessing) 字符串(S

php中和mysql数据库相关函数

什么是API? 一个应用程序接口(Application Programming Interface的缩写),定义了类,方法,函数,变量等等一切 你的应用程序中为了完成特定任务而需要调用的内容.在PHP应用程序需要和数据库进行交互的时候所需要的API 通常是通过PHP扩展暴露出来(给终端PHP程序员调用). API可以是面向过程的,也可以是面向对象的.对于面向过程的API,我们通过调用函数来完成任务,而对于面向对象的API, 我们实例化类,并在实例化后得到的对象上调用方法.对于这两种接口而言,后

mysqli

引用:http://www.runoob.com/php/php-ref-mysqli.html: PHP 5 MySQLi 函数 函数 描述 mysqli_affected_rows() 返回前一次 MySQL 操作所影响的记录行数. mysqli_autocommit() 打开或关闭自动提交数据库修改. mysqli_change_user() 更改指定数据库连接的用户. mysqli_character_set_name() 返回数据库连接的默认字符集. mysqli_close() 关闭

使用原生AJAX和PHP 构建和解析XML格式的数据

XML:eXtensible Markup Language,可扩展的标签语言,本身是一种字符串格式,用于描述批量复合数据, 语法特点:  (1)所有的数据放在标签中 (2)整个XML字符串有且只能有一个根标签 (3)所有的标签名都可以自定义,但严格区分大小写,且开始和结束标记必须完全一样 (4)每个标签都可以自定义属性,属性必须有值,值必须用单引号/双引号括起来 (5)每个标签都可以定义任意的子标签,标签可以嵌套,但不能交叉 注意:HTML和XML的区别 HTML语法随意:XML语法严格: H

13-1 在PHP中使用mysqli与MySQL交互

1.建立.关闭与MySQL服务器的连接    1)连接指定的mysql服务器       [email protected]_connect($host, $user, $password,$database,$port);   2)连接错误时的提示       int mysqli_connect_errno ();//返回最后一次连接调用的错误代码       string mysqli_connect_error ();//返回一个字符串描述的最后一次连接调用的错误代码   3)设置默认字

封装类似thinkphp连贯操作数据库的Db类(简单版)。

<?php header("Content-Type:text/html;charset=utf-8"); /** *php操作mysql的工具类 */ class Db{ private $_db = null;//数据库连接句柄 private $_table = null;//表名 private $_where = null;//where条件 private $_order = null;//order排序 private $_limit = null;//limit限

jQuery中使用$.each()遍历后台响应的json字符串问题

今天在做练习项目的时候,使用$.each()方法遍历后台传过来的json字符串时,chrome浏览器中发现如下问题  Cannot use 'in' operator to search for 'length'...... 琢磨了好久,百思不得其解.前后台代码分别如下: 后台返回json字符串: $sql = "select pid, pname, price, pic, did, count from jd_product, jd_cart_detail where pid=productI

关于php如何连贯操作类方法(以数据库为例)

关于php如何连贯操作类方法(以数据库为例) 1.下面是我写好的关于mysqli操作数据库的一些常用方法,大神请掠过 1 <?php 2 3 class Db 4 { 5 static private $config = [ 6 'datahost' => '', // 主机名 7 'dataname' => '', // 数据库名 8 'username' => '', // 用户名 9 'password' => '', // 用户密码 10 'charset' =>