| 
				
				Как использовать MySQL в C++
				 | 
 | 
| lumennes | Дата: Вторник, 28 Августа 2012, 16:11 | Сообщение # 1 |  
| 
 Убийца Diablo 
Сейчас нет на сайте 
 
 | Я пишу сервер на C++ и мне необходимо чтобы он сохранял и доставал данные из базы данных на MySQL.   Как это сделать? Если можно подробнее и с примерами. Заранее спасибо.
  Как мало вы знаете, как громко вы судите...
 |  
| 
 | 
 |    | 
| Йакуд | Дата: Вторник, 28 Августа 2012, 16:17 | Сообщение # 2 |  
 
участник 
Сейчас нет на сайте 
 
 | Code #include <my_global.h>   #include <mysql.h> 
   int main(int argc, char *argv[])     {       // Дескриптор соединения      MYSQL *conn;       // Получаем дескриптор соединения      conn = mysql_init(NULL);       if(conn == NULL)       {         // Если дескриптор не получен - выводим сообщение об ошибке        fprintf(stderr, "Error: can't create MySQL-descriptor\n");         exit(1);       }       // Подключаемся к серверу      if(!mysql_real_connect(conn,                             NULL,                             "root",                             NULL,                             NULL,                             NULL,                             NULL,                             0                             ))       {         // Если нет возможности установить соединение с сервером          // базы данных выводим сообщение об ошибке        fprintf(stderr,                   "Error: can't connect to database %s\n",                 mysql_error(conn));       }       else       {         // Если соединение успешно установлено выводим фразу - "Success!"        fprintf(stdout, "Success!\n");       }         // Закрываем соединение с сервером базы данных      mysql_close(conn);     }   
   PS. Гуглится за 30 секунд
  "Хороший художник – копирует, гениальный – ворует!" — Pablo Picasso   .blanco 2.0
 
 Сообщение отредактировал Йакуд - Вторник, 28 Августа 2012, 16:18  |  
| 
 | 
 |    | 
| lumennes | Дата: Вторник, 28 Августа 2012, 18:54 | Сообщение # 3 |  
| 
 Убийца Diablo 
Сейчас нет на сайте 
 
 | При компиляции вылетает ошибка   Code    1>CPP.obj : error LNK2001: неразрешенный внешний символ "_mysql_close@4"   1>CPP.obj : error LNK2001: неразрешенный внешний символ "_mysql_error@4"   1>CPP.obj : error LNK2001: неразрешенный внешний символ "_mysql_real_connect@32"   1>CPP.obj : error LNK2001: неразрешенный внешний символ "_mysql_init@4"   fatal error LNK1120: 4 неразрешенных внешних элементов      
   может кроме   Code    #include <my_global.h>      #include <mysql.h>           нужно еще что-то подключить? 
   Добавлено (28.08.2012, 17:39)   ---------------------------------------------   Ура   Всё получилось!!!   Просто забыл подключить libmysql.lib. 
   Добавлено (28.08.2012, 18:54)   ---------------------------------------------   Не работает. Кто может помгите. Что я делаю не так?   
  Как мало вы знаете, как громко вы судите...
 
 Сообщение отредактировал lumennes - Вторник, 28 Августа 2012, 21:13  |  
| 
 | 
 |    | 
| 05142 | Дата: Вторник, 28 Августа 2012, 19:23 | Сообщение # 4 |  
| 
 постоянный участник 
Сейчас нет на сайте 
 
 | Пришли весь код
  mecinvader
 |  
| 
 | 
 |    | 
| lumennes | Дата: Вторник, 28 Августа 2012, 19:54 | Сообщение # 5 |  
| 
 Убийца Diablo 
Сейчас нет на сайте 
 
 | На скрине он весь. я его сейчас немного переписал. 
   Сейчас, меня интересует как можно вставить переменную C++ между кавычками, чтобы она воспринималась как переменная, а не слово. 
   допустим есть переменная    
   и я выполняю запрос к базе данных   Code mysql_query(&mysql, "INSERT INTO users (id, login) VALUES (NULL, me)");   
   как сделать чтобы С++ воспринимал me как переменную в запросе, а не слово 'me'?
  Как мало вы знаете, как громко вы судите...
 |  
| 
 | 
 |    | 
| Нохчи | Дата: Вторник, 28 Августа 2012, 19:59 | Сообщение # 6 |  
| 
 заслуженный участник 
Сейчас нет на сайте 
 
 | Code    char me[] = "admin";   char query[256]; 
   sprintf(query, "INSERT INTO users (id, login) VALUES (NULL, %s)", me);   mysql_query(&mysql, query);     
  Многие вопросы по Windows отпадут, если посмотреть тут
 |  
| 
 | 
 |    | 
| lumennes | Дата: Вторник, 28 Августа 2012, 21:12 | Сообщение # 7 |  
| 
 Убийца Diablo 
Сейчас нет на сайте 
 
 | Нохчи, спасибо, помог.   Только данный код у меня не работал, пока я не поставил двойные кавычки у переменной   Code sprintf(query, "INSERT INTO users (id, login) VALUES (NULL, '%s')", me);  Добавлено (28.08.2012, 21:12) --------------------------------------------- Ура :laugh:, я полностью разобрался с вводом-выводом информации из базы данных MySQL по средствам C++   Всем спасибо, кто помог     Теперь я могу сделать авторизацию в клиенте   
  Как мало вы знаете, как громко вы судите...
 |  
| 
 | 
 |    |