mysql_c_api.hpp 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #include <mysql/mysql.h>
  2. // Mysql操作句柄初始化
  3. // 参数说明:
  4. // mysql为空则动态申请句柄空间进⾏初始化
  5. // 返回值: 成功返回句柄指针, 失败返回NULL
  6. MYSQL *mysql_init(MYSQL *mysql);
  7. // 连接mysql服务器
  8. // 参数说明:
  9. // mysql--初始化完成的句柄
  10. // host---连接的mysql服务器的地址
  11. // user---连接的服务器的⽤⼾名
  12. // passwd-连接的服务器的密码
  13. // db ----默认选择的数据库名称
  14. // port---连接的服务器的端⼝: 默认0是3306端⼝
  15. // unix_socket---通信管道⽂件或者socket⽂件,通常置NULL
  16. // client_flag---客⼾端标志位,通常置0
  17. // 返回值:成功返回句柄指针,失败返回NULL
  18. MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db,
  19. unsigned int port, const char *unix_socket, unsigned long client_flag);
  20. // 设置当前客⼾端的字符集
  21. // 参数说明:
  22. // mysql--初始化完成的句柄
  23. // csname--字符集名称,通常:"utf8"
  24. // 返回值:成功返回0, 失败返回⾮0
  25. int mysql_set_character_set(MYSQL *mysql, const char *csname);
  26. // 选择操作的数据库
  27. // 参数说明:
  28. // mysql--初始化完成的句柄
  29. // db-----要切换选择的数据库名称
  30. // 返回值:成功返回0, 失败返回⾮0
  31. int mysql_select_db(MYSQL *mysql, const char *db);
  32. // 执⾏sql语句
  33. // 参数说明:
  34. // mysql--初始化完成的句柄
  35. // stmt_str--要执⾏的sql语句
  36. // 返回值:成功返回0, 失败返回⾮0
  37. int mysql_query(MYSQL *mysql, const char *stmt_str);
  38. // 保存查询结果到本地
  39. // 参数说明:
  40. // mysql--初始化完成的句柄
  41. // 返回值:成功返回结果集的指针, 失败返回NULL
  42. MYSQL_RES *mysql_store_result(MYSQL *mysql);
  43. // 获取结果集中的⾏数
  44. // 参数说明:
  45. // result--保存到本地的结果集地址
  46. // 返回值:结果集中数据的条数
  47. uint64_t mysql_num_rows(MYSQL_RES *result);
  48. // 获取结果集中的列数
  49. // 参数说明:
  50. // result--保存到本地的结果集地址
  51. // 返回值:结果集中每⼀条数据的列数
  52. unsigned int mysql_num_fields(MYSQL_RES *result);
  53. // 获取结果集中的列属性信息
  54. // 参数说明:
  55. // result--保存到本地的结果集地址
  56. // 返回值:结果集中每⼀条数据的列数
  57. MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)
  58. MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *result)
  59. // 遍历结果集, 并且这个接⼝会保存当前读取结果位置,每次获取的都是下⼀条数据
  60. // 参数说明:
  61. // result--保存到本地的结果集地址
  62. // 返回值:实际上是⼀个char **的指针,将每⼀条数据做成了字符串指针数组
  63. // row[0]-第0列 row[1]-第1列 ...
  64. MYSQL_ROW mysql_fetch_row(MYSQL_RES *result);
  65. // 释放结果集
  66. // 参数说明:
  67. // result--保存到本地的结果集地址
  68. void mysql_free_result(MYSQL_RES *result);
  69. // 关闭数据库客⼾端连接,销毁句柄
  70. // 参数说明:
  71. // mysql--初始化完成的句柄
  72. void mysql_close(MYSQL *mysql);
  73. // 获取mysql接⼝执⾏错误原因
  74. // 参数说明:
  75. // mysql--初始化完成的句柄
  76. const char *mysql_error(MYSQL *mysql);