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)
Параметры этой функции указываются следующим образом:
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
.int mysql_create_db(MYSQL *mysql, const char *db)
Данная функция не рекомендуется. Вместо нее предпочтительно использовать функцию mysql_query()
для выполнения SQL-команды CREATE DATABASE
.
Нуль, если база данных создана успешно. Ненулевая величина, если произошла ошибка.
CR_COMMANDS_OUT_OF_SYNC
CR_SERVER_GONE_ERROR
CR_SERVER_LOST
CR_UNKNOWN_ERROR
if(mysql_create_db(&mysql, my_database))
{
fprintf(stderr, Failed to create new database. Error: %s\n, mysql_error(&mysql));
}
...
void mysql_close(MYSQL *mysql)
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.