mysql api---从一个小例子开始mysql编程入门(3)
首先完善一下上一节的程序及遗留的问题#include
#include
#include
#include
////unsigned int mysql_errno(MYSQL *mysql)
/*
intmysql_init(MYSQL*handle)
{
MYSQL tmphandle = (MYSQL )malloc(sizeof(MYSQL));
// .....
//...
handle = tmphandle;
}
int main()
{
int ret = 0, i = 0;
MYSQL mysql;
MYSQL *connect = NULL;
connect = mysql_init(&mysql) ;
if (connect == NULL)
{
ret =mysql_errno(&mysql) ;
printf("func mysql_init() err \n");
return ret;
}
printf("func mysql_init() ok \n");
connect = mysql_real_connect(connect, "localhost", "root", "mysql", "pos", 0, NULL, 0);
if (connect == NULL)
{
ret =mysql_errno(&mysql) ;
printf("func mysql_init() err \n");
return ret;
}
printf("func mysql_real_connect() ok \n");
//查询
const char *query = "select *from emp";
ret = mysql_query(&mysql, query);
if (ret != 0)
{
ret =mysql_errno(&mysql) ;
printf("func mysql_query() err \n");
return ret;
}
//typedef char **MYSQL_ROW; /* return data as array of strings */
//typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
//获取结果集合
//结果集合中 可以含有10行数据
MYSQL_RES *result = mysql_store_result(&mysql);
if(result==NULL)
{
ret =mysql_errno(&mysql) ;
printf("func mysql_query() err \n");
return ret;
}
unsigned intnum = mysql_field_count(&mysql) ;//从mysql句柄中获取列
MYSQL_FIELD*fields = mysql_fetch_fields(result);//获取表头地址结构体
for (i = 0; i
页:
[1]