php mysqli mysqli_query() mysqli_real_query()

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查詢是否是成功(能夠簡單這樣理解), 成功的話, 再調用獲取結果集的函數

 

注意:

也正是由於結果集是逐條返回的, 因此只能順序讀取結果, 不能隨機指定偏移量去獲取某一條記錄, 也不能獲取記錄的總條數等等

相關文章
相關標籤/搜索