mysql_unbuffered_query: unbuffered顾名思义不缓存,意思就是查询结果不缓存。而大多数人用的mysql_query查询 结果缓存。 mysql_unbuffered_query的好处:第一是节省内存,第二是它不用 等数据获取完全以后操作,直接可以获取一条数据以后就可以操作。它的弊端是 mysql_num_rows() 和 mysql_data_seek()对它无效,原因也在于它不缓存数据。下面是一 个小例子: 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,则将结果输出两次。若用mysql_unbuffered_query则只能输出结果一次 。
|