
CODE:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql.h>
MYSQL* my_conn()
{
MYSQL *mysql;
/*初始化指针*/
mysql = mysql_init(NULL);
/*连接数据库*/
if(!(mysql = mysql_real_connect(mysql, "localhost", "root", "root", "test", 0, NULL, 0)))
{
printf("error!!%s\n", mysql_error(mysql));
exit(1);
}
printf("连接数据库成功!!\n");
return mysql;
}
/*执行sql语句并返回*/
MYSQL_RES* execute_query(MYSQL* mysql, char *sql)
{
MYSQL_RES *res = NULL;
printf("sql:%s\n", sql);
/*执行SQL语句*/
if(mysql_query(mysql,sql)) {
fprintf(stderr,"Query failed (%s)\n",mysql_error(mysql));
exit(1);
}
/*返回结果集*/
if (!(res=mysql_store_result(mysql))) {
fprintf(stderr,"Couldn''t get result from %s\n", mysql_error(mysql));
exit(1);
}
/*结果列数*/
printf("number of fields returned: %d\n",mysql_num_fields(res));
return res;
}
int main()
{
MYSQL *mysql;
MYSQL_RES *res;
MYSQL_ROW row;
char *qbuf;
mysql = my_conn();
qbuf = "select * from test";
/* printf("main sql:%s\n", qbuf);*/
res = execute_query(mysql, qbuf);
while(row = mysql_fetch_row(res))
{
printf("id=%s\t", row[0]);
printf("name=%s\t", row[1]);
printf("remark=%s\n", row[3]);
}
puts("query ok!!\n");
mysql_free_result(res);
mysql_close(mysql);
return 1;
}