2015-10-14 16 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