PHP mysql_unbuffered_query() 函数

定义和用法

mysql_unbuffered_query() 函数向 MySQL 发送一条 SQL 查询(不获取 / 缓存结果)。

语法

  1. mysql_unbuffered_query(query,connection)
参数 描述
query 必需。规定要发送的 SQL 查询。注释:查询字符串不应以分号结束。
connection 可选。规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。

说明

mysql_unbuffered_query() 向 MySQL 发送一条 SQL 查询 query ,但不像 mysql_query() 那样自动获取并缓存结果集。一方面,这在处理很大的结果集时会节省可观的内存。另一方面,可以在获取第一行后立即对结果集进行操作,而不用等到整个 SQL 语句都执行完毕。

当使用多个数据库连接时,必须指定可选参数 connection

提示和注释

注释:mysql_unbuffered_query() 的好处是有代价的:在 mysql_unbuffered_query() 返回的结果集之上不能使用 mysql_num_rows()mysql_data_seek()。此外在向 MySQL 发送一条新的 SQL 查询之前,必须提取所有未缓存的 SQL 查询所产生的结果行。

例子

  1. <?php
  2. $con = mysql_connect("localhost","mysql_user","mysql_pwd");
  3. if (!$con)
  4. {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7.  
  8. // 大型查询
  9. $sql = "SELECT * FROM Person";
  10.  
  11. mysql_unbuffered_query($sql,$con);
  12.  
  13. // 开始处理数据...
  14.  
  15. mysql_close($con);
  16. ?>