2015-09-30 3 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

Смежные вопросы