int mysql_stmt_store_result(MYSQL_STMT *stmt)
      
Description
        Result sets are produced by executing prepared statements for
        SQL statements such as SELECT,
        SHOW,
        DESCRIBE, and
        EXPLAIN. By default, result sets
        for successfully executed prepared statements are not buffered
        on the client and
        mysql_stmt_fetch() fetches them
        one at a time from the server. To cause the complete result set
        to be buffered on the client, call
        mysql_stmt_store_result() after
        binding data buffers with
        mysql_stmt_bind_result() and
        before calling
        mysql_stmt_fetch() to fetch
        rows. (For an example, see Section 21.9.7.11, “mysql_stmt_fetch()”.)
      
        mysql_stmt_store_result() is
        optional for result set processing, unless you will call
        mysql_stmt_data_seek(),
        mysql_stmt_row_seek(), or
        mysql_stmt_row_tell(). Those
        functions require a seekable result set.
      
        It is unnecessary to call
        mysql_stmt_store_result() after
        executing an SQL statement that does not produce a result set,
        but if you do, it does not harm or cause any notable performance
        problem. You can detect whether the statement produced a result
        set by checking if
        mysql_stmt_result_metadata()
        returns NULL. For more information, refer to
        Section 21.9.7.22, “mysql_stmt_result_metadata()”.
      
          MySQL doesn't by default calculate
          MYSQL_FIELD->max_length for all columns
          in mysql_stmt_store_result()
          because calculating this would slow down
          mysql_stmt_store_result()
          considerably and most applications don't need
          max_length. If you want
          max_length to be updated, you can call
          mysql_stmt_attr_set(MYSQL_STMT,
          STMT_ATTR_UPDATE_MAX_LENGTH, &flag) to enable
          this. See Section 21.9.7.3, “mysql_stmt_attr_set()”.
        
Return Values
Zero if the results are buffered successfully. Nonzero if an error occurred.
Errors
Commands were executed in an improper order.
Out of memory.
The MySQL server has gone away.
The connection to the server was lost during the query.
An unknown error occurred.


User Comments
Add your own comment.