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); ?>