|
回复 #1 militala 的帖子
/*testsql.c
** An example to use MYSQL C API
** Copyright 2007 zhangchao
** Author:zhangchao
** 2007-7-31
*/
#include<mysql.h>
#include<stdio.h>
int main()
{
MYSQL mysql; //need a instance to init
MYSQL_RES *res;
MYSQL_ROW row;
char *query;
int t;
//connect the database
mysql_init(&mysql); //初始化mysql
if (!mysql_real_connect(&mysql,"localhost", "root", "aaaaa", "test",0,NULL,0))//如果连接上数据库返回的是0
{
printf( "Error connecting to database: %s\n",mysql_error(&mysql));
}
else printf("Connected...\n");
// get the result from the executing select query
query = "select * from t1";
t = mysql_real_query(&mysql,query,(unsigned int) strlen(query)); //查询数据库语句,如果查询成功,函数返回0
if (t)
{
printf("Error making query: %s\n", mysql_error(&mysql));
}
else printf("[%s] made...\n", query);
res = mysql_store_result(&mysql);//储存查询结果
while(row = mysql_fetch_row(res)) //读取每一行数据
{
for(t=0;t<mysql_num_fields(res);t++) //t为结果中的字段数,查询结果中的字段数
{
printf("%s ",row[t]); //打印查询结果 row[t]
}
printf("%d",strlen(query));//查看查询语句长度
printf("\n");
}
printf("mysql_free_result...\n");
mysql_free_result(res); //free result after you get the result
sleep(10);
// mysql_close(&mysql);
//execute the insert query
query = "insert into t1(id, name) values(2, 'zhang')";
t = mysql_real_query(&mysql,query,(unsigned int) strlen(query));
if (t)
{
printf("Error making query: %s\n",mysql_error(&mysql));
}
else printf("[%s] made...\n", query);
mysql_close(&mysql);
return 0;
}
gcc testsql.c -I/var/fyi/mysql/include/mysql -L/var/fyi/mysql/lib/mysql -lmysqlclient
这是我的编译路径...一个是mysql的头文件地址 还有mysql的库文件地址..如果不加会报错的
|