#include 〈stdio.h〉
#include 〈stdlib.h〉
#include 〈stdarg.h〉
#include 〈string.h〉
#include "mysql.h"
MYSQL *mysql;
MYSQL_RES *results;
MYSQL_ROW record;
static char *server_options[] = { "mysql_test", "--defaults-file=my.cnf" };
int num_elements = sizeof(server_options)/ sizeof(char *);
static char *server_groups[] = { "libmysqld_server", "libmysqld_client" };
int main(void)
{
mysql_server_init(num_elements, server_options, server_groups);
mysql = mysql_init(NULL);
//mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "libmysqld_client");
//mysql_options(mysql, MYSQL_OPT_USE_EMBEDDED_CONNECTION, NULL);
if (!mysql_real_connect(mysql, "localhost","root","666666", "abc", 0,NULL,0))
{ fprintf(stderr, "无法连接数据库,错误原因:%s\n",
mysql_error(mysql));
}
else
{
//mysql_query(mysql, "SELECT * FROM abc_tbl");
puts("数据库连接成功");
char query[2000];
//下面执行的语句为连接设置字符集
mysql_real_query(mysql,"SET NAMES 'utf8'",(unsigned int) strlen("SET NAMES 'utf8'")); // 执行查询语句
sprintf(query, "%s", "SELECT * FROM abc_tbl");
int t = mysql_real_query(mysql,query,(unsigned int) strlen(query)); // 执行查询语句
if (t)
printf("查询数据库失败:%s\n", mysql_error(mysql));
else {
results = mysql_store_result(mysql);
while((record = mysql_fetch_row(results)))
{
// 在结果集内步进
int t;
for(t = 0; t 〈 (int)mysql_num_fields(results); t++)
printf("%s ",record[t]); // 输出每列的数据
printf("\n");
}
mysql_free_result(results);
}
mysql_close(mysql);
}
mysql_server_end();
return 0;
}