Spec-Zone.ru › MySQL Connectors 1.0

6.4.18 mysql_stmt_next_result()

int
mysql_stmt_next_result(MYSQL_STMT *mysql)

Описание

Эта функция используется при работе с подготовленными операторами для выполнения хранимых процедур, которые могут возвращать несколько наборов результатов. Используйте цикл, вызывающий 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() см. в Разделе 3.6.5, «Поддержка подготовленных операторов CALL».

Значения возврата

Значение возврата Описание
0 Успех, и есть дополнительные результаты
-1 Успех, и больше результатов нет
>0 Произошла ошибка

Ошибки

  • Команды были выполнены в неправильном порядке.

  • Сервер MySQL ушел.

  • Соединение с сервером было потеряно во время запроса.

  • Произошла неизвестная ошибка.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/c-api-8.4-en/mysql-stmt-next-result.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API