2016年11月26日 15:22:27 星期六php
场景:mysql
PHP从mysql中读取数据sql
1. 一次性读取全部数据返给PHP函数
2. 每次循环只读取一掉记录code
数据量小的时候能够使用第一种方法, 数据量很大的时候就须要使用第二种方法了mysqli
第二种方法的使用:扩展
若是用 php::mysql 扩展, 有一个函数叫作 mysql_unbuffered_queryselect
若是用 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查询是否是成功(能够简单这样理解), 成功的话, 再调用获取结果集的函数
注意:
也正是由于结果集是逐条返回的, 因此只能顺序读取结果, 不能随机指定偏移量去获取某一条记录, 也不能获取记录的总条数等等