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_real_connect()
MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned int client_flag)
8.4.3.172 Описание
Функция mysql_real_connect()
пытается установить соединение с сервером баз данных MySQL, работающим на хосте host
. До успешного завершения функции mysql_real_connect()
нельзя выполнять никакие другие функции интерфейса, за исключением mysql_get_client_info()
.
Параметры этой функции указываются следующим образом:
MYSQL
. До вызова функции mysql_real_connect
() необходимо вызвать функцию mysql_init()
для инициализации данной структуры MYSQL
. Вызов функции mysql_options()
позволяет изменить многие опции данного соединения. See section 8.4.3.159 mysql_options()
.host
может быть как именем хоста, так и IP-адресом. Если host равен NULL
или строке "localhost"
, то подразумевается соединение с локальным хостом. Если операционная система поддерживает сокеты (Unix) или именованные каналы (Windows), то они используются вместо протокола TCP/IP для соединения с сервером.NULL
, то подразумевается текущий пользователь. Под операционной системой Unix, это будет текущее имя входа в систему. Под Windows ODBC имя пользователя должно быть указано явным образом. См. раздел See section 8.3.2 Как заполнять различные поля в Администраторе ODBC.passwd
содержит пароль для user. Если параметр passwd
равен NULL
, то только записи в таблице user
для пользователя, имеющего чистое (пустое) поле пароля, будут проверяться на совпадение. Это дает возможность администратору базы данных устанавливать систему прав MySQL таким образом, что пользователи получают различные права, в зависимости от того, имеют они или нет установленный пароль. Замечание: не следует пытаться шифровать пароль перед вызовом функции mysql_real_connect()
; шифрование пароля производится автоматически библиотекой.db
представляет собой имя базы данных. Если параметр db
не равен NULL
, то данное соединение установит эту величину в качестве базы данных по умолчанию.port
не равен 0, то данная величина будет использована в качестве порта для соединения TCP/IP. Следует учитывать, что тип соединения определяется параметром host
.unix_socket
не равен NULL
, то данная строка указывает сокет или именованный канал, который следует использовать. Следует учитывать, что тип соединения определяется параметром host
.client_flag
обычно равна 0, но при особых обстоятельствах может быть установлена как комбинация следующих флагов:
Имя флага | Описание флага |
CLIENT_COMPRESS |
Использовать сжатие в протоколе. |
CLIENT_FOUND_ROWS |
Возвращать количество найденных (совпавших) строк, а не количество строк, подвергшихся воздействию. |
CLIENT_IGNORE_SPACE |
Допускать пробелы после имен функций. Сделать имена всех функций зарезервированными словами. |
CLIENT_INTERACTIVE |
Допускать простой длительностью interactive_timeout секунд (вместо wait_timeout секунд) перед закрытием данного соединения. |
CLIENT_NO_SCHEMA |
Запретить использование формы db_name.tbl_name.col_name . Это делается для ODBC и заставляет синтаксический анализатор генерировать ошибку при использовании данного синтаксиса, который полезен для выявления ошибок в некоторых программах ODBC. |
CLIENT_ODBC |
Клиентом является клиент ODBC. Настраивает mysqld для большей совместимости с ODBC. |
CLIENT_SSL |
Использовать SSL (протокол шифрования). |
Дескриптор соединения MYSQL*
, если соединение было успешным, NULL
если соединение было неудачным. Для успешного соединения возвращаемая величина та же, что и величина первого параметра.
CR_CONN_HOST_ERROR
CR_CONNECTION_ERROR
CR_IPSOCK_ERROR
CR_OUT_OF_MEMORY
CR_SOCKET_CREATE_ERROR
CR_UNKNOWN_HOST
CR_VERSION_ERROR
--old-protocol
.CR_NAMEDPIPEOPEN_ERROR
CR_NAMEDPIPEWAIT_ERROR
CR_NAMEDPIPESETSTATE_ERROR
CR_SERVER_LOST
MYSQL mysql; mysql_init(&mysql); mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"your_prog_name"); if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0)) { fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&mysql)); }
Используя функцию mysql_options()
, библиотека MySQL будет читать секции [client]
и your_prog_name
в конфигурационном файле `my.cnf', что будет гарантировать нормальную работу данной программы, даже если MySQL будет установлен нестандартным образом.
Следует заметить, что во время соединения функция mysql_real_connect()
устанавливает флаг reconnect
(часть данной структуры MYSQL) в значение, равное 1. Этот флаг показывает, что в случае, если запрос не может быть выполнен из-за потери соединения, то следует попытаться восстановить соединение прежде, чем отказаться от него.
Add your own comment.