2024 年 PHP Conference Japan

mysql_free_result

(PHP 4, PHP 5)

mysql_free_result釋放結果記憶體

警告

此擴充自 PHP 5.5.0 起已被棄用,並在 PHP 7.0.0 中移除。應改用 MySQLiPDO_MySQL 擴充。另請參閱 MySQL:選擇 API 指南。此函式的替代方案包括:

說明

mysql_free_result(資源 $result): 布林值

mysql_free_result() 會釋放與結果識別碼 result 相關聯的所有記憶體。

只有在您擔心傳回大型結果集的查詢使用了多少記憶體時,才需要呼叫 mysql_free_result()。所有相關的結果記憶體會在腳本執行結束時自動釋放。

參數

result

正在評估的結果 資源。此結果來自對 mysql_query() 的呼叫。

返回值

成功時返回 true,失敗時返回 false

如果對 result 使用非資源,則會發出 E_WARNING 等級的錯誤。值得注意的是,mysql_query() 只會針對 SELECT、SHOW、EXPLAIN 和 DESCRIBE 查詢返回 資源

範例

範例 #1 mysql_free_result() 範例

<?php
$result
= mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!
$result) {
echo
'無法執行查詢:' . mysql_error();
exit;
}
/* 使用結果,假設之後我們就不需要它了 */
$row = mysql_fetch_assoc($result);

/* 現在我們釋放結果並繼續執行我們的腳本 */
mysql_free_result($result);

echo
$row['id'];
echo
$row['email'];
?>

注意事項

注意:

為了向後相容,可以使用以下已棄用的別名:mysql_freeresult()

參見

新增註解

使用者貢獻的註解 2 則註解

16
admin at ifyouwantblood dot de
16 年前
如果您使用未緩衝的查詢,而且尚未從 MySQL 取得所有資料,這個函式可能會增加記憶體用量。在這種情況下,MySQL API 會出現一個問題:您想釋放結果,但不想關閉連線。現在,MySQL 只會在所有資料都已取得後才接受另一個查詢,因此 API 現在必須在呼叫 mysql_free_result() 時取得其餘的資料。

因此,只有在您取得所有資料(並且需要它)時才使用未緩衝的查詢。
15
bluesting dot co dot za 的 webmaster
13 年前
mysql_query() 也會針對「OPTIMIZE TABLE」語句返回資源!
To Top