PHP mysql_unbuffered_query() 函數

定義和用法

mysql_unbuffered_query() 函數向 MySQL 發送一條 SQL 查詢(不獲取 / 緩存結果)。

語法

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 查詢所產生的結果行。

實例

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
// 大型查詢
$sql = "SELECT * FROM Person";
mysql_unbuffered_query($sql,$con);
// 開始處理數據...
mysql_close($con);
?>