1.操作平台:ubuntu平台
2.系统环境:UNIX/Linux操作系统
3.常用接口函数
//获取、初始化Mysql结构
MYSQL* mysql_init(MYSQL* mysql,
const char *host; //数据库ip
const char *user;//用户
const char *passwd,//密码
const char *db,//操作的数据库
unsigned int port,//端口号
const char *unix_socket,//socket套接字
unsigned long clientflag);//客户端号
// 设置当前连接使用的字符集
int mysql_set_character_set(MYSQL* mysql,const char *csname);
//执行指定的SQL查询语句
int mysql_query(MYSQL* mysql,const char *q);
//返回上次执行语句的结果的列的数目
int mysql_field_count(MYSQL* mysql);
//检测完全的结果集反馈至客户端
MYSQL_RES* mysql_store_result(MYSQL* mysql);
//从结果集中获取下一行
MYSQL_ROW mysql_fetch_row(MYSQL_RES* result);
//释放结果集使用的内存
void mysql_free_result(MYSQL_RES* result);
//关闭服务器的连接
void mysql_close(MYSQL* sock);
//获取错误编码
int mysql_errno(MYSQL* sock);
//获取错误信息
const char* mysql_error(MYSQL* mysql);
4.代码范例
#include<stdio.h>
#include<string.h>
#include<mysql/mysql.h>
int main()
{
//初始化MYSQL结构体
MYSQL* sql = mysql_init(NULL);
if(NULL == sql)
{
printf("errno:%d error:%s\n"),
mysql_errno(sql),mysql_error(sql);
return -1;
}
//连接MySQL数据库
if(NULL == mysql_real_connect(sql,"127.0.0.1","test","123456","testDB",3306,NULL,0))
{
printf("errno:%d error:%s\n"),
mysql_errno(sql),mysql_error(sql);
return -1;
}
char cmd[256] = {};
while(1)
{
printf("mysql>");
get(cmd);
if(0 == strcmp("exit",cmd)) break;
//查询
if(mysql_query(sql,cmd))
{
printf("errno:%d error:%s\n"),
mysql_errno(sql),mysql_error(sql);
continue;
}
//获取结果列数
int col = mysql_field_count(sql);
if(0 > col)
{
printf("errno:%d error:%s\n"),
mysql_errno(sql),mysql_error(sql);
continue;
}
//获取结果
MYSQL_RES* res = mysql_store_result(sql);
if(NULL == res)
{
printf("errno:%d error:%s\n"),
mysql_errno(sql),mysql_error(sql);
continue;
}
//从结果中获取一行数据
MYSQL_ROW row;
while(row = mysql_fetch_row(res))
{
if(NULL == row)
{
printf("errno:%d error:%s\n"),
mysql_errno(sql),mysql_error(sql);
continue;
}
}
printf("\n-----------------------\n");
mysql_free_result(res);
}
//关闭当前连接
mysql_close(sql);
}