>Приветствую.
>
>Вопрос в связи с использованием библиотеки 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
|