数据库操作
初始化MySQL句柄
MYSQL* mysql_init(MYSQL* mysql);
连接MySQL服务器
MYSQL* mysql_real_connect(MYSQL* mysql, const char* host, const char* user, const char* passwd, const char* dbname, unsigned int port, const char* unix_socket, unsigned long client_flag);
设置客户端字符集
int mysql_set_character_set(MYSQL* mysql, const char* csname);
选择操作的数据库
int mysql_select_db(MYSQL* mysql, const char* db);
关闭数据库链接,销毁句柄
void mysql_close(MYSQL *mysql);
数据操作
增删改查
int mysql_query(MYSQL* mysql, const char* stmt_str);
查询的后续操作
- 保存查询结果到本地:执行查询操作之后查询结果一般是保存在服务器的,当获取的时候才会将结果保存在一个结果集中返回;
MYSQL_RES* mysql_store_result(MYSQL* mysql);
- 获取结果集:我们拿到结果集之后无法直接遍历,因为不知道二维数组的大小,所以需要获取行数、列数;
uint64_t mysql_num_rows(MYSQL_RES *result);
unsigned int mysql_num_fields(MYSQL_RES *result);
- 遍历结果集:利用上一个函数所获得的结果集行数、列数,来遍历结果集,获取数据;
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result);
- 释放结果集:释放空间,避免资源泄露;
void mysql_free_result(MYSQL_RES *result)
获取错误信息
const char *mysql_error(MYSQL *mysql);