Показать сообщение отдельно

  #4  
Старый 28.01.2009, 18:42
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


По умолчанию

Дикс, во-первых, ты на винде, чтобы нормально можно было работать в консоли под винды обязательно нужно включить windows.h - именно тут идут определения сложных типов данных таких, как SOCKET и т.д. Это тебя избавит от ряда ошибок. Во-вторых, нужно обязательно прилинковать libmysql.lib к проектy. В-третьих - mysql_connect уже нельзя использовать... Это только пережиток семплов... Девелоперы её запретили как устаревшую, есть альтернатива - mysql_real_connect. Давай пробуй... Ниже линк на мой проект под VS 6.0 - тут всё компилится.

http://groundhog.ru/mysql.rar

Код:
#pragma comment(lib,"libmysql.lib")

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "mysql.h"

MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;

void exiterr (int exitcode) {
	fprintf(stderr, "%s\n", mysql_error(&mysql));
	exit(exitcode);
}

int main () {
	unsigned int i = 0;

	mysql_init(&mysql);

	if (!mysql_real_connect(&mysql, "localhost", "root", "!root!", "test", 0, NULL, 0)) exiterr(1);
	if (mysql_query(&mysql, "SELECT name,rate FROM emp_master")) exiterr(3);
	if (!(res = mysql_store_result(&mysql))) exiterr(4);

	while((row = mysql_fetch_row(res)))
		for (i=0 ; i < mysql_num_fields(res); i++)
			printf("%s\n", row[i]);

	if (!mysql_eof(res)) exiterr(5);

	mysql_free_result(res);
	mysql_close(&mysql);

	return 0;
}
Да! И не забывай про http://phpclub.ru/mysql/doc/c-api-functions.html, всё равно ты не напишешь сходу приложения для работы с мусклом не глядя в шпаргалку...
 
Ответить с цитированием