Spec-Zone.ru › MySQL Connectors 1.0

6.4.5 mysql_stmt_bind_result()

bool
mysql_stmt_bind_result(MYSQL_STMT *stmt,
                       MYSQL_BIND *bind)

Описание

mysql_stmt_bind_result() используется для связывания (то есть, привязки) выходных столбцов в наборе результатов с буферами данных и буферами длин. Когда функция mysql_stmt_fetch() вызывается для извлечения данных, протокол MySQL клиент/сервер помещает данные для привязанных столбцов в указанные буферы.

Все столбцы должны быть привязаны к буферам перед вызовом mysql_stmt_fetch(). bind - это адрес массива структур MYSQL_BIND. Библиотека клиента ожидает, что массив будет содержать по одному элементу для каждого столбца набора результатов. Если вы не привязываете столбцы к структурам MYSQL_BIND, то mysql_stmt_fetch() просто игнорирует извлечение данных. Буферы должны быть достаточно большими, чтобы содержать значения данных, так как протокол не возвращает данные по частям.

Столбец может быть привязан или перепривязан в любое время, даже после частичного извлечения набора результатов. Новая привязка вступает в силу при следующем вызове mysql_stmt_fetch(). Предположим, что приложение привязывает столбцы в наборе результатов и вызывает mysql_stmt_fetch(). Протокол клиент/сервер возвращает данные в привязанных буферах. Затем предположим, что приложение привязывает столбцы к другому набору буферов. Протокол помещает данные в новые привязанные буферы при следующем вызове mysql_stmt_fetch().

Для привязки столбца приложение вызывает mysql_stmt_bind_result() и передает тип, адрес и длину выходного буфера, в который должно быть помещено значение. Раздел 6.2, “Структуры данных C API подготовленных запросов”, описывает члены каждого элемента MYSQL_BIND и как они должны быть установлены для получения выходных значений.

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

Ноль в случае успеха. Неноль, если произошла ошибка.

Ошибки

  • Преобразование не поддерживается. Возможно, значение buffer_type некорректно или не является одним из поддерживаемых типов.

  • Нет памяти.

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

Пример

См. Пример в Разделе 6.4.11, “mysql_stmt_fetch()”.

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

Spec-Zone.ru

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