OceanBase
English日本語简体中文
Docs Home
Products
Integrations
Release Notes

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service
OceanBase DatabaseOceanBase Cloud ToolsConnectors and MiddlewareLifecycle Support Policy

OceanBase Connector/C

V2.0.0
  • Overview
  • Installation guide
  • User Guide
    • Basic data structures
    • Basic operations
      • Basic API operations
      • API operations on prepared statements
  • C API functions
    • Overview
    • my_init()
    • mysql_affected_rows()
    • mysql_autocommit()
    • mysql_change_user()
    • mysql_character_set_name()
    • mysql_client_find_plugin()
    • mysql_client_register_plugin()
    • mysql_close()
    • mysql_commit()
    • mysql_connect()
    • mysql_create_db()
    • mysql_data_seek()
    • mysql_debug()
    • mysql_drop_db()
    • mysql_dump_debug_info()
    • mysql_eof()
    • mysql_errno()
    • mysql_error()
    • mysql_escape_string()
    • mysql_fetch_field()
    • mysql_fetch_field_direct()
    • mysql_fetch_fields()
    • mysql_fetch_lengths()
    • mysql_fetch_row()
    • mysql_field_count()
    • mysql_field_seek()
    • mysql_field_tell()
    • mysql_free_result()
    • mysql_get_character_set_info()
    • mysql_get_client_info()
    • mysql_get_client_version()
    • mysql_get_host_info()
    • mysql_get_proto_info()
    • mysql_get_server_info()
    • mysql_get_server_version()
    • mysql_get_ssl_cipher()
    • mysql_hex_string()
    • mysql_info()
    • mysql_init()
    • mysql_insert_id()
    • mysql_kill()
    • mysql_library_end()
    • mysql_library_init()
    • mysql_list_dbs()
    • mysql_list_fields()
    • mysql_list_processes()
    • mysql_list_tables()
    • mysql_load_plugin()
    • mysql_load_plugin_v()
    • mysql_more_results()
    • mysql_next_result()
    • mysql_num_fields()
    • mysql_num_rows()
    • mysql_options()
    • mysql_options4()
    • mysql_ping()
    • mysql_plugin_options()
    • mysql_query()
    • mysql_real_connect()
    • mysql_real_escape_string()
    • mysql_real_query()
    • mysql_refresh()
    • mysql_reload()
    • mysql_rollback()
    • mysql_row_seek()
    • mysql_row_tell()
    • mysql_select_db()
    • mysql_server_end()
    • mysql_server_init()
    • mysql_set_character_set()
    • mysql_set_local_infile_default()
    • mysql_set_local_infile_handler()
    • mysql_set_server_option()
    • mysql_shutdown()
    • mysql_sqlstate()
    • mysql_ssl_set()
    • mysql_stat()
    • mysql_stmt_affected_rows()
    • mysql_stmt_attr_get()
    • mysql_stmt_attr_set()
    • mysql_stmt_bind_param()
    • mysql_stmt_bind_result()
    • mysql_stmt_close()
    • mysql_stmt_data_seek()
    • mysql_stmt_errno()
    • mysql_stmt_error()
    • mysql_stmt_execute()
    • mysql_stmt_fetch()
    • mysql_stmt_fetch_column()
    • mysql_stmt_field_count()
    • mysql_stmt_free_result()
    • mysql_stmt_init()
    • mysql_stmt_insert_id()
    • mysql_stmt_next_result()
    • mysql_stmt_num_rows()
    • mysql_stmt_param_count()
    • mysql_stmt_param_metadata()
    • mysql_stmt_prepare()
    • mysql_stmt_reset()
    • mysql_stmt_result_metadata()
    • mysql_stmt_row_seek()
    • mysql_stmt_row_tell()
    • mysql_stmt_send_long_data()
    • mysql_stmt_sqlstate()
    • mysql_stmt_store_result()
    • mysql_store_result()
    • mysql_thread_end()
    • mysql_thread_id()
    • mysql_thread_init()
    • mysql_thread_safe()
    • mysql_use_result()
    • mysql_warning_count()

Download PDF

Document Feedback
  1. Documentation Center
  2. OceanBase Connector/C
  3. V2.0.0

mysql_store_result()

Last Updated:2026-09-04 08:24:09

Syntax
Return values
Error messages
Notes

mysql_store_result() retrieves and stores a result set.

Syntax

MYSQL_RES *
mysql_store_result(MYSQL *mysql)

Return values

A pointer that points to a MYSQL_RES structure with results. If the statement does not return a result set or an error occurs, NULL is returned.

To determine whether an error has occurred, check whether mysql_error() returns a non-empty string, whether mysql_errno() returns a non-zero value, or whether mysql_field_count() returns zero.

Error messages

If mysql_store_result() is executed, it resets mysql_error() and mysql_errno().

  • CR_COMMANDS_OUT_OF_SYNC: Commands are executed in an incorrect order.

  • CR_OUT_OF_MEMORY: The memory is insufficient.

  • CR_SERVER_GONE_ERROR: The connection to the OBServer was interrupted.

  • CR_SERVER_LOST: The connection to the server was lost during the query.

  • CR_UNKNOWN_ERROR: An unknown error occurred.

Notes

After you call mysql_real_query() or mysql_query(), you must call mysql_store_result() or mysql_use_result() for each of the following statement that generates a result set: SELECT, SHOW, DESCRIBE, EXPLAIN, and CHECK TABLE. After you process the result set, you must call mysql_free_result().

You do not need to call mysql_store_result() or mysql_use_result() for other statements. However, even if you call mysql_store_result() in any cases, it does not cause any harm or significant performance degradation. You can check whether mysql_store_result() returns a non-zero value to determine whether the statement generates a result set.

If multi-statement support is enabled, you must retrieve the results of calling mysql_real_query() or mysql_query() by calling mysql_next_result() in a loop to determine whether more results are generated.

mysql_store_result() reads the entire result of a query to the client, assigns a MYSQL_RES structure, and puts the result into the structure.

If an statement, such as INSERT, does not return a result set, or an error occurs and reading of the result set fails, mysql_store_result() returns NULL.

If no rows are returned, an empty result set is returned. An empty result set is different from a null pointer as a return value.

After you call mysql_store_result() and obtain a result that is not a null pointer, you can call mysql_num_rows() to find out the number of rows in the result set.

You can call mysql_fetch_row() to obtain rows from the result set or call mysql_row_seek() and mysql_row_tell() to obtain or set the current row position in the result set.

Previous topic

mysql_stmt_store_result()
Last

Next topic

mysql_thread_end()
Next
on this page
Syntax
Return values
Error messages
Notes