Spec-Zone .ru
спецификации, руководства, описания, API
|
my_bool mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bind)
mysql_stmt_bind_result()
is used
to associate (that is, bind) output columns in the result set to data buffers and length buffers. When mysql_stmt_fetch()
is called to fetch data, the MySQL client/server protocol
places the data for the bound columns into the specified buffers.
All columns must be bound to buffers prior to calling mysql_stmt_fetch()
. bind
is the address of an array
of MYSQL_BIND
structures. The client library expects the array to contain one
element for each column of the result set. If you do not bind columns to MYSQL_BIND
structures, mysql_stmt_fetch()
simply ignores the data fetch. The buffers should be large
enough to hold the data values, because the protocol doesn't return data values in chunks.
A column can be bound or rebound at any time, even after a result set has been partially retrieved. The new
binding takes effect the next time mysql_stmt_fetch()
is called. Suppose that an application binds the columns in a result set and calls mysql_stmt_fetch()
. The client/server protocol returns data in the bound
buffers. Then suppose that the application binds the columns to a different set of buffers. The protocol places
data into the newly bound buffers when the next call to mysql_stmt_fetch()
occurs.
To bind a column, an application calls mysql_stmt_bind_result()
and passes the type, address, and length of the output buffer into which the value should be stored. Section 22.8.9, "C API Prepared Statement Data
Structures", describes the members of each MYSQL_BIND
element and how they
should be set to receive output values.
Zero if the bind operation was successful. Nonzero if an error occurred.
The conversion is not supported. Possibly the buffer_type
value is
invalid or is not one of the supported types.
Out of memory.
An unknown error occurred.
See the Example in Section 22.8.11.11, "mysql_stmt_fetch()
".