具体的api定义在/usr/include/mysql/mysql.h以及mysqlclient.h文件中。
使用gcc或者g++进行编译时,需要添加编译选项 -l/usr/include/mysql/和-L/usr/lib64/mysql -lmysqlclient进行编译;
gcc hello.c -o hello -I/usr/include/mysql/ -L/usr/lib64/mysql/ -lmysqlclient
同时添加头文件 include "mysql/mysql.h"
1.声明mysql指针为NULL
MYSQL* mysql = NULL;
2.进行init初始化处理;
MYSQL* mysql_init(MYSQL* mysql);
3.错误码以及错误字符串获取;
unsigned int mysql_errno(MYSQL* mysql);
char* mysql_error(MYSQL* mysql);
4.建立mysql连接;
MYSQL* mysql_real_connect(MYSQL* mysql, const char* host, const char* username,
const char* password, const char* db, unsigned int port,
const char* unix_socket, unsigned long client_flag);
其中后面四个参数可为NULL或0,使用默认值即可;
5.执行sql语句;
int mysql_query(MYSQL* mysql, const char* stmt_str);
6.获取结果;
MYSQL_RES* mysql_result = NULL;
MYSQL_RES* mysql_store_result(MYSQL* mysql);
MYSQL_ROW* mysql_fetch_row(MYSQL_RES* mysql_result); //返回一整行的内容;
7.获取表头信息并打印表头信息;
mysql_fetch_fields();//获取头部信息;
mysql_field_count();//获取一行中的列数;
通过for循环,将MYSQL_RES中的name[i]打印出来即是表头;
8.关闭连接以及内存释放;
mysql_free_result(MYSQL_RES* mysql_result);
mysql_close(MYSQL* mysql);