MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: 8 Интерфейсы для MySQL :: 8.4 Интерфейс C для MySQL :: 8.4.3 Описание функций интерфейса C :: 8.4.3.51 mysql_store_result()

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • 8.4.3 Описание функций интерфейса C
  • 8.4.3.1 mysql_affected_rows()
  • 8.4.3.2 mysql_change_user()
  • 8.4.3.3 mysql_character_set_name()
  • 8.4.3.4 mysql_close()
  • 8.4.3.5 mysql_connect()
  • 8.4.3.6 mysql_create_db()
  • 8.4.3.7 mysql_data_seek()
  • 8.4.3.8 mysql_debug()
  • 8.4.3.9 mysql_drop_db()
  • 8.4.3.10 mysql_dump_debug_info()
  • 8.4.3.11 mysql_eof()
  • 8.4.3.12 mysql_errno()
  • 8.4.3.13 mysql_error()
  • 8.4.3.14 mysql_escape_string()
  • 8.4.3.15 mysql_fetch_field()
  • 8.4.3.16 mysql_fetch_field_direct()
  • 8.4.3.17 mysql_fetch_fields()
  • 8.4.3.18 mysql_fetch_lengths()
  • 8.4.3.19 mysql_fetch_row()
  • 8.4.3.20 mysql_field_count()
  • 8.4.3.21 mysql_field_seek()
  • 8.4.3.22 mysql_field_tell()
  • 8.4.3.23 mysql_free_result()
  • 8.4.3.24 mysql_get_client_info()
  • 8.4.3.25 mysql_get_server_version()
  • 8.4.3.26 mysql_get_host_info()
  • 8.4.3.27 mysql_get_proto_info()
  • 8.4.3.28 mysql_get_server_info()
  • 8.4.3.29 mysql_info()
  • 8.4.3.30 mysql_init()
  • 8.4.3.31 mysql_insert_id()
  • 8.4.3.32 mysql_kill()
  • 8.4.3.33 mysql_list_dbs()
  • 8.4.3.34 mysql_list_fields()
  • 8.4.3.35 mysql_list_processes()
  • 8.4.3.36 mysql_list_tables()
  • 8.4.3.37 mysql_num_fields()
  • 8.4.3.38 mysql_num_rows()
  • 8.4.3.39 mysql_options()
  • 8.4.3.40 mysql_ping()
  • 8.4.3.41 mysql_query()
  • 8.4.3.42 mysql_real_connect()
  • 8.4.3.43 mysql_real_escape_string()
  • 8.4.3.44 mysql_real_query()
  • 8.4.3.45 mysql_reload()
  • 8.4.3.46 mysql_row_seek()
  • 8.4.3.47 mysql_row_tell()
  • 8.4.3.48 mysql_select_db()
  • 8.4.3.49 mysql_shutdown()
  • 8.4.3.50 mysql_stat()
  • 8.4.3.51 mysql_store_result()
  • 8.4.3.52 mysql_thread_id()
  • 8.4.3.53 mysql_use_result()

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Additional languages

  • German


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

8.4.3.51. mysql_store_result()

MYSQL_RES *mysql_store_result(MYSQL *mysql)

Описание

Функцию mysql_store_result() или mysql_use_result() необходимо вызывать после каждого выполненного запроса, извлекающего данные (SELECT, SHOW, DESCRIBE, EXPLAIN).

Нет необходимости в вызове функции mysql_store_result() или mysql_use_result() для других запросов, но не будет никакого вреда или заметной потери производительности, если функция mysql_store_result() будет вызываться во всех случаях. Можно определить, вернул ли данный запрос результирующий набор, проверкой, возвращает ли 0 функция mysql_store_result() (более подробно об этом см. дальше).

Для проверки того, вернул данный запрос результирующий набор или нет, можно использовать функцию mysql_field_count(). See Раздел 8.4.3.20, «mysql_field_count()».

Функция mysql_store_result() читает весь результат запроса данного клиента, выделяет структуру MYSQL_RES и помещает результат в эту структуру.

Функция mysql_store_result() возвращает нулевой указатель, если данный запрос не вернул результирующий набор (если этот запрос был, например, командой INSERT).

Функция mysql_store_result() также возвращает нулевой указатель, если чтение результирующего набора завершилось неудачно. Выяснить, произошла ли ошибка, можно следующим образом: если mysql_error() не возвращает нулевой указатель, если mysql_errno() возвращает величину <> 0 или если mysql_field_count()возвращает величину <> 0.

Пустой результирующий набор возвращается в случае, если нет ни одной возвращенной строки. (Пустой результирующий набор и нулевой указатель - разные вещи в контексте возвращаемых величин.)

Если была вызвана функция mysql_store_result() и полученный результат не является нулевым указателем, то можно вызвать функцию mysql_num_rows() для определения количества строк в результирующем наборе.

Можно вызвать функцию mysql_fetch_row() для выборки строк из результирующего набора или функции mysql_row_seek() и mysql_row_tell() для получения или установки положения текущей строки внутри данного результирующего набора.

Необходимо вызвать функцию mysql_free_result() сразу же после окончания действий с результирующим набором.

See Раздел 8.4.6.1, «Почему после успешных возвратов функции mysql_query() функция mysql_store_result() иногда возвращает NULL?».

Возвращаемые значения

Результирующая структура MYSQL_RES с результатами. NULL, если произошла ошибка.

Ошибки

  • CR_COMMANDS_OUT_OF_SYNC

    Команды были выполнены в ненадлежащем порядке.

  • CR_OUT_OF_MEMORY

    Нехватка памяти.

  • CR_SERVER_GONE_ERROR

    Сервер MySQL неожиданно завершил работу.

  • CR_SERVER_LOST

    Соединение с сервером прервалось в процессе данного запроса.

  • CR_UNKNOWN_ERROR

    Произошла неизвестная ошибка.


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.

Top / Previous / Next / Up / Table of Contents

© 1995-2005 MySQL AB. All rights reserved.

  • About MySQL
  • Careers
  • Site Map
  • Contact Us
  • Legal
  • Privacy Policy
  • Trademark Info
  • No Software Patents!