mysql_affected_rows()
mysql_change_user()
mysql_character_set_name()
mysql_close()
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_client_info()
mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()
mysql_info()
mysql_init()
mysql_insert_id()
mysql_kill()
mysql_list_dbs()
mysql_list_fields()
mysql_list_processes()
mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_options()
mysql_ping()
mysql_query()
mysql_real_connect()
mysql_real_escape_string()
mysql_real_query()
mysql_reload()
mysql_row_seek()
mysql_row_tell()
mysql_select_db()
mysql_shutdown()
mysql_stat()
mysql_store_result()
mysql_thread_id()
mysql_use_result()
Buy this Reference Manual in softcover from Barnes & Noble!
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 section 8.4.3.85 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 section 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
CR_SERVER_LOST
CR_UNKNOWN_ERROR
Add your own comment.