接上一篇,这里简单地示例一下查询的用法
#include<stdio.h>
#include<mysql/mysql.h>
/*struct stu
{
int sno;
char sname[32];
char sbirth[16];
char sgender[4];
char sclass[8];
};*/
int main()
{
//定义句柄
MYSQL mysql;
//初始化句柄
if(NULL == mysql_init(&mysql))
{
printf("mysql init error!\n");
return -1;
}
if(NULL == mysql_real_connect(&mysql,"localhost","root","123456","school",0,NULL,0))
{
printf("%s\n", mysql_error(&mysql));
return -1;
}
printf("连接数据库成功!\n");
char sql[1024]="select * from student";
if(0 != mysql_query(&mysql,sql))
{
printf("%s\n",mysql_error(&mysql));
return -1;
}
//数据库查询
MYSQL_RES *result = NULL;
int num_rows = 0,num_fields = 0;
result = mysql_store_result(&mysql);//获取查询结果
num_rows=mysql_num_rows(result);//行
num_fields=mysql_num_fields(result);//列
MYSQL_ROW row = NULL;
//读取数据
while(1)
{
row = mysql_fetch_row(result);
//直到数据为空
if(row==NULL)
{
break;
}
//打印每一行的元素
for(int i=0; i<num_fields; i++)
{
printf("%s ",row[i]);
}
printf("\n");
}
mysql_close(&mysql);
return 0;
}