|
Spec-Zone .ru
спецификации, руководства, описания, API
|
int mysql_stmt_next_result(MYSQL_STMT *mysql)
Эта функция используется, когда Вы используете подготовленный CALL операторы, чтобы выполнить хранимые процедуры, которые могут возвратить
многократные наборы результатов. Используйте цикл, который вызывает mysql_stmt_next_result() определить, есть ли больше результатов. Если
процедура имеет OUT или INOUT параметры, их значения
будут возвращены как набор результатов единственной строки после любых других наборов результатов. Значения
появятся в порядке, в котором они объявляются в списке параметров процедуры.
mysql_stmt_next_result()
возвращает состояние, чтобы указать, существует ли больше результатов. Если mysql_stmt_next_result() возвращает ошибку, нет больше результатов.
Перед каждым звонком mysql_stmt_next_result(),
следует вызвать mysql_stmt_free_result() для текущего результата, если это произвело набор
результатов (а не только состояние результата).
После вызова mysql_stmt_next_result() состояние соединения - то, как будто Вы вызвали mysql_stmt_execute(). Это означает, что можно вызвать mysql_stmt_bind_result(), mysql_stmt_affected_rows(), и т.д.
Также возможно протестировать, есть ли больше результатов, вызывая mysql_more_results(). Однако, эта функция не изменяет состояние соединения, так,
если это возвращает true, следует все еще вызвать mysql_stmt_next_result() совершенствоваться к следующему результату.
Для примера, который показывает, как использовать mysql_stmt_next_result(), см. Раздел
21.8.20, "Поддержка API C Готового CALL Операторы".
| Возвращаемое значение | Описание |
|---|---|
| 0 | Успешный и есть больше результатов |
| -1 | Успешный и нет больше результатов |
| >0 | Ошибка произошла |
Команды выполнялись в неподходящем порядке.
Сервер MySQL ушел.
Соединение с сервером было потеряно во время запроса.
Произошла неизвестная ошибка.