php mysqli mysqli_query() mysqli_real_query()
Posted myD
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php mysqli mysqli_query() mysqli_real_query()相关的知识,希望对你有一定的参考价值。
2016年11月26日 15:22:27 星期六
场景:
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()的主要内容,如果未能解决你的问题,请参考以下文章
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
mysqli_query():在PHPUnit中测试PHP函数时无法获取mysqli