2016年11月26日 15:22:27 星期六

场景:

PHP从mysql中读取数据

1. 一次性读取所有数据返给PHP

2. 每次循环只读取一掉记录

数据量小的时候可以使用第一种方法, 数据量很大的时候就需要使用第二种方法了

第二种方法的使用:

如果用 php::mysql 扩展,  有一个函数叫做 mysql_unbuffered_query

如果用 php::mysqli 扩展, 有下面两种等价的使用方式:

  1) mysqli::query('select * from ....', MYSQLI_USE_RESULT)

  2) mysqli::real_query('select * from ...'); 配合函数 mysqli::use_result() 一起使用

解释:

mysqli::query('...', MYSQLI_STORE_RESULT) 等价于 mysqli::real_query() + mysqli::store_result() //MYSQLI_STORE_RESULT 是默认的可以不传, 一次性获取所有数据集返回给PHP

mysqli::query('...', MYSQLI_USE_RESULT) 等价于 mysqli::real_query() + mysqli::use_result() //每次返回一条记录给PHP

其中

mysqli::query() 返回的数据的类型是查询的结果集,

mysqli::real_query() 返回的是布尔值true/false 告知程序本次mysql查询是不是成功(可以简单这样理解), 成功的话, 再调用获取结果集的函数

注意:

也正是因为结果集是逐条返回的, 所以只能顺序读取结果, 不能随机指定偏移量去获取某一条记录, 也不能获取记录的总条数等等

php mysqli mysqli_query() mysqli_real_query()的更多相关文章

  1. mysqli类的对象和其属性方法;mysqli类面向过程的属性和方法

    mysqli 方法的概述 mysqli 类 面向对象接口 面向过程接口   描述 属性 $mysqli::affected_rows mysqli_affected_rows() 获取上次 Mysql ...

  2. 用trie树实现输入提示功能,输入php函数名,提示php函数

    参照刘汝佳的trie树 结构体 #include "stdio.h" #include "stdlib.h" #include "string.h&q ...

  3. php long time(1)

    好久好久没有发表新的文章了,主要是懒得在这里写,都记在记事本上,所得都是自己理解的情况下写的,如今借此闲暇记录下来,:::: ****************PHP****************** ...

  4. PHP-过滤器-连接数据库-解析XML

    PHP 过滤器 what? PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入. 验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分. 设计 PHP 的过滤器扩展的目的 ...

  5. PHP5 mysqli 教程

    mysqli提供了面向对象和面向过程两种方式来与数据库交互,分别看一下这两种方式. 1.面向对象 在面向对象的方式中,mysqli被封装成一个类,它的构造方法如下: __construct ([ st ...

  6. php操作mysqli(示例代码)

    <?php define("MYSQL_OPEN_LOGS",true); class mysqliHelp { private $db; public function _ ...

  7. PHP MySQLi

    PHP MySQLi 简介 PHP MySQLi = PHP MySQL Improved! MySQLi 函数允许您访问 MySQL 数据库服务器. 注释:MySQLi 扩展被设计用于 MySQL ...

  8. PHP 5 MySQLi 函数

    在 PHP 中使用 MySQLi 函数需要注意的是:你需要添加对 MySQLi 扩展的支持. PHP MySQLi 简介 PHP MySQLi = PHP MySQL Improved! MySQLi ...

  9. PHP MySQLi 参考手册

    PHP MySQLi函数 PHP MySQLi是MySQL的增强版本,PHP7 已经废弃了MySQL扩展,全面推荐使用MySQLi或者PDO. MySQLi安装>>>>> ...

随机推荐

  1. DDNS动态更新

    /// <summary> /// DnsPod DDNS工具类 /// </summary> public class DDNSToolkit { private stati ...

  2. ArrayList_HashSet的比较及Hashcode分析

    ArrayList_HashSet的比较及Hashcode分析 hashCode()方法的作用   public static void main(String[] args) { Collectio ...

  3. Javascript两个感叹号的用法(!!)

    var foo; alert(!foo);//undefind情况下或者null,一个感叹号返回的是true; alert(!goo);//undefind情况下,一个感叹号返回的也是true; 但是 ...

  4. jsp上传图片实时显示

    jsp代码 <div class="form-group" id="caseIma"> <label class="control- ...

  5. POJ 1321 棋盘问题(dfs)

    传送门 棋盘问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 38297   Accepted: 18761 Descri ...

  6. NOIp2016 Day1&Day2 解题报告

    Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...

  7. windows多线程编程实现 简单(1)

    内容:实现win32下的最基本多线程编程 使用函数: #CreateThread# 创建线程 HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTES lpT ...

  8. delphi 2010与delphi XE破解版的冲突

    在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...

  9. 【原创】PageAdminCMS 前台SQL注入漏洞(1)

    之前根据公司的要求找了几个web程序的漏洞提交CNVVD,发现漏洞提交上去两个月了,CNVVD却没有任何回应,我提交的这几个漏洞却悄悄的修补掉了. 文章作者:rebeyond 受影响版本:V3.0 漏 ...

  10. JS数组经典冒泡排序

    将8,4,3,1,4,6,等数字按照从小到大的顺序依次输出: var arr=new Array(); arr.push(8); arr.push(4); arr.push(3); arr.push( ...