#include // Mysql操作句柄初始化 // 参数说明: // mysql为空则动态申请句柄空间进⾏初始化 // 返回值: 成功返回句柄指针, 失败返回NULL MYSQL *mysql_init(MYSQL *mysql); // 连接mysql服务器 // 参数说明: // mysql--初始化完成的句柄 // host---连接的mysql服务器的地址 // user---连接的服务器的⽤⼾名 // passwd-连接的服务器的密码 // db ----默认选择的数据库名称 // port---连接的服务器的端⼝: 默认0是3306端⼝ // unix_socket---通信管道⽂件或者socket⽂件,通常置NULL // client_flag---客⼾端标志位,通常置0 // 返回值:成功返回句柄指针,失败返回NULL MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag); // 设置当前客⼾端的字符集 // 参数说明: // mysql--初始化完成的句柄 // csname--字符集名称,通常:"utf8" // 返回值:成功返回0, 失败返回⾮0 int mysql_set_character_set(MYSQL *mysql, const char *csname); // 选择操作的数据库 // 参数说明: // mysql--初始化完成的句柄 // db-----要切换选择的数据库名称 // 返回值:成功返回0, 失败返回⾮0 int mysql_select_db(MYSQL *mysql, const char *db); // 执⾏sql语句 // 参数说明: // mysql--初始化完成的句柄 // stmt_str--要执⾏的sql语句 // 返回值:成功返回0, 失败返回⾮0 int mysql_query(MYSQL *mysql, const char *stmt_str); // 保存查询结果到本地 // 参数说明: // mysql--初始化完成的句柄 // 返回值:成功返回结果集的指针, 失败返回NULL MYSQL_RES *mysql_store_result(MYSQL *mysql); // 获取结果集中的⾏数 // 参数说明: // result--保存到本地的结果集地址 // 返回值:结果集中数据的条数 uint64_t mysql_num_rows(MYSQL_RES *result); // 获取结果集中的列数 // 参数说明: // result--保存到本地的结果集地址 // 返回值:结果集中每⼀条数据的列数 unsigned int mysql_num_fields(MYSQL_RES *result); // 获取结果集中的列属性信息 // 参数说明: // result--保存到本地的结果集地址 // 返回值:结果集中每⼀条数据的列数 MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result) MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *result) // 遍历结果集, 并且这个接⼝会保存当前读取结果位置,每次获取的都是下⼀条数据 // 参数说明: // result--保存到本地的结果集地址 // 返回值:实际上是⼀个char **的指针,将每⼀条数据做成了字符串指针数组 // row[0]-第0列 row[1]-第1列 ... MYSQL_ROW mysql_fetch_row(MYSQL_RES *result); // 释放结果集 // 参数说明: // result--保存到本地的结果集地址 void mysql_free_result(MYSQL_RES *result); // 关闭数据库客⼾端连接,销毁句柄 // 参数说明: // mysql--初始化完成的句柄 void mysql_close(MYSQL *mysql); // 获取mysql接⼝执⾏错误原因 // 参数说明: // mysql--初始化完成的句柄 const char *mysql_error(MYSQL *mysql);