mysql_unbuffered_query: unbuffered顧名思義不緩存,意思就是查詢結(jié)果不緩存。而大多數(shù)人用的mysql_query查詢 結(jié)果緩存。 mysql_unbuffered_query的好處:第一是節(jié)省內(nèi)存,第二是它不用 等數(shù)據(jù)獲取完全以后操作,直接可以獲取一條數(shù)據(jù)以后就可以操作。它的弊端是 mysql_num_rows() 和 mysql_data_seek()對它無效,原因也在于它不緩存數(shù)據(jù)。下面是一 個小例子: PHP代碼 - <?php
- $link = mysql_connect('localhost','root','root');
- mysql_select_db('phpcms');
- $sql = "SELECT * FROM `phpcms_content`" ;
-
- $result = mysql_query($sql,$link);
-
- while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
- printf ("ID: %s Name: % s", $row [0], $row[1]);
-
- }
- mysql_data_seek($result,0);
- echo "<br/>";
- while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
- printf ("ID: %s Name: % s", $row [0], $row[1]);
- }
-
- mysql_free_result($result);
- ?>
如果 使用mysql_query,則將結(jié)果輸出兩次。若用mysql_unbuffered_query則只能輸出結(jié)果一次 。
|