my_bool mysql_stmt_bind_result(MYSQL_STMT *stmt,
MYSQL_BIND *bind)
Description
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 20.8.5, “C API Prepared Statement Data types”, describes
the members of each MYSQL_BIND
element and
how they should be set to receive output values.
Return Values
Zero if the bind operation was successful. Nonzero if an error occurred.
Errors
The conversion is not supported. Possibly the
buffer_type
value is illegal or is not
one of the supported types.
Out of memory.
An unknown error occurred.
Example
For the usage of
mysql_stmt_bind_result()
, refer
to the Example from Section 20.8.7.11, “mysql_stmt_fetch()
”.
User Comments
Add your own comment.