my_bool mysql_stmt_bind_result(MYSQL_STMT *stmt,
MYSQL_BIND *bind)
Description
mysql_stmt_bind_result()
is used to
associate (bind) 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 an
element for each column of the result set. Otherwise,
mysql_stmt_fetch()
simply ignores the data
fetch. Also, 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 the application binds the columns to a different
set of buffers. The protocol does not place data into the
newly bound buffers until 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 the address of the length buffer. The
members of each MYSQL_BIND
element that
should be set are described in
Section 24.2.5, « Types de données de l'API C ».
Return Values
Zero if the bind was successful. Non-zero if an error occurred.
Errors
CR_UNSUPPORTED_PARAM_TYPE
The conversion is not supported. Possibly the
buffer_type
value is illegal or is not
one of the supported types.
CR_OUT_OF_MEMORY
Out of memory.
CR_UNKNOWN_ERROR
An unknown error occurred.
Example
For the usage of mysql_stmt_bind_result()
,
refer to the Example from Section 24.2.7.13, « mysql_stmt_fetch()
».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.