2015-09-30 25 views
0

我用这个函数调用过程等PHP:mysqli的清理储存的结果

function clearStoredResults($mysqli_link){ 
#------------------------------------------ 
    while($mysqli_link->next_result()){ 
     if($l_result = $mysqli_link->store_result()){ 
       $l_result->free(); 
     } 
    } 
} 

后清除存​​储的结果,但我不断收到以下消息/错误

mysqli::next_result(): There is no next result set. Please, call mysqli_more_results()/mysqli::more_results() to check whether to call this function/method in

如果我改变next_result()more_results()页面不断加载一段时间,我得到一个超时错误:

Maximum execution time of 30 seconds exceeded

关于如何解决这个问题的任何想法?

回答

1

您需要使用这两种方法:

function clearStoredResults($mysqli_link) { 
#------------------------------------------ 
    while($mysqli_link->more_results()) { 
     $mysqli_link->next_result(); 
     if($l_result = $mysqli_link->store_result()) { 
       $l_result->free(); 
     } 
    } 
} 

使用more_results控制回路,并next_result实际移动光标。

+0

这工作。谢谢! – js091514

+0

Downvoter,谨慎解释? –

+0

我没有投票给任何人。 – js091514