c连接本地数据库服务器实例
/*mysql.c,连接本地mysql服务器的c程序
*主要是流程的学习,实现用c语言来连接服务器并对上面的数据库进行相应的操作
*2012-10-3
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <mysql/mysql.h> //MySQL头文件
int main(int argc, char *argv[]) {
// 初始化一个类型为MYSQL的数据结构
MYSQL *mysql;
mysql = mysql_init(NULL);
if (!mysql){
fprintf(stderr, "mysql_init failed\n");
return EXIT_FAILURE;
}
// 与MySQL数据库引擎建立连接。
mysql = mysql_real_connect(mysql, "127.0.0.1", "root", "123",
"xftest", 0, NULL, 0);
if(mysql){
printf("Connection success\n");
}
else {
printf("Connection failed\n");
}
char *query;
query = "select * from name";
// 执行query字符串中的SQL语句
int t;
t = mysql_real_query(mysql, query, (unsigned int)strlen(query));
if(t)
{
printf("Error query: %s\n", mysql_error(mysql));
}
else
{
printf("Query success!\n");
}
// 获取语句执行的返回结果。
MYSQL_RES *res;
res=mysql_store_result(mysql);
MYSQL_ROW row;
int r;
for(r = 1; r <= mysql_num_rows(res); r++) //行数
{
// 取回结果集中的下一条记录 。
row = mysql_fetch_row(res);
// 获得一条记录中的各个字段
for(t = 0; t < mysql_num_fields(res); t++)//列数
{
printf("%s ",row[t]);
}
printf("\n");
}
mysql_free_result(res);
mysql_close(mysql);
return 0;
}