URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4686
[ Назад ]

Исходное сообщение
"заполнить структуру MYSQL"

Отправлено kruzo , 26-Сен-05 15:41 
Приветствую.

Вопрос в связи с использованием библиотеки mysql. Во всех примерах, испольщующих MySQL API, при вызове mysql_init() передается только адрес структуры MYSQL, с чем это связано?

Например, если я хочу заполнить структуру перед вызовом mysql_init(), то мне нужно объявить, например, так:

MYSQL *conn;
conn->host="1.2.3.4";
conn->user = "root";
conn->passwd = "";
conn->db = "db";

mysql_init(Conn);
....

Правильный ли это подход?


Содержание

Сообщения в этом обсуждении
"заполнить структуру MYSQL"
Отправлено Ghecko , 26-Сен-05 16:34 
>Приветствую.
>
>Вопрос в связи с использованием библиотеки mysql. Во всех примерах, испольщующих MySQL
>API, при вызове mysql_init() передается только адрес структуры MYSQL, с чем
>это связано?
>
>Например, если я хочу заполнить структуру перед вызовом mysql_init(), то мне нужно
>объявить, например, так:
>
>MYSQL *conn;
>conn->host="1.2.3.4";
>conn->user = "root";
>conn->passwd = "";
>conn->db = "db";
>
>mysql_init(Conn);
>....
>
>Правильный ли это подход?
Нет, не правильный. Перед заплнением структуры (любой) ее нужно инициализировать, что и делает ф-ия mysql_init(MYSQL *mysql).
А потом соединяться с БД. Пример кода:

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));
}

P.S.  кстати все это есть на http://dev.mysql.com


"заполнить структуру MYSQL"
Отправлено kruzo , 27-Сен-05 04:21 
> Нет, не правильный. Перед заплнением структуры (любой) ее нужно инициализировать, что
>и делает ф-ия mysql_init(MYSQL *mysql).
> А потом соединяться с БД. Пример кода:
>
>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));
>}
>
>P.S.  кстати все это есть на http://dev.mysql.com
Дело в том, что я бы хотел передавать параметры соединения прямо в структуре MYSQL (хост, имя базы, пользователь, пароль). Как более красиво это сделать, что не ломать общую концепцию?


"заполнить структуру MYSQL"
Отправлено kruzo , 28-Сен-05 11:35 
up