2015-10-14 36 views
0

我想知道PHP在這種情況下做:當關閉準備好的語句時,PHP會自動存儲結果嗎?

$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); 
$st = $mysqli->prepare('/* a query */'); 
$st->bind_param('','/* some values */'); 
$st->execute(); 
$st->store_result(); 
/* function using the stored result */ 
$st->close(); 

什麼PHP與存儲的結果做什麼? 存儲結果是否保存爲臨時? (在MEMORY或HDD等上)

回答

0

當關閉準備好的語句時,PHP會自由存儲結果嗎?

NO,它停留在內存,你應該使用free_result()釋放它。

$st->free_result(); 
$st->close(); 

(PHP 5)

mysqli_result::free - mysqli_free_result - 釋放與結果相關聯的存儲器中。

注:

你應該總是釋放與mysqli_free_result你的結果(), 您的結果對象時,不再需要。

http://php.net/manual/en/mysqli-result.free.php