MYSQL C API
MYSQL C API¶
包含头文件#include <mysql/mysql.h>
mysql_init¶
初始化一个MYSQL连接的对象和释放一个MYSQL对象
mysql_init
#include <mysql/mysql.h>
MYSQL* mysql_init(MYSQL* mysql); //初始化
void mysql_close(MYSQL* mysql); //释放
常见用法¶
- 参数传递NULL:
mysql_init()分配资源(申请一块内存),返回首地址
MYSQL* m_conn = mysql_init(NULL);
记得释放内存:mysql_close(m_conn); m_conn = NULL; - 参数传递对象地址:
下面情况使用栈内存
MYSQL ms;
MYSQL* m_conn = mysql_init(ms);
记得释放内存:mysql_close(m_conn); m_conn = NULL;
mysql_real_connect¶
连接到MYSQL server
mysql_real_connect
在能够执行需要有效MySQL连接句柄结构的任何其它API函数之前,#include <mysql/mysql.h>
MYSQL* mysql_real_connect(MYSQL* mysql/*mysql_init返回的地址*/, const char* host/*主机名*/, const char* user/*用户名*/,
const char* passwd/*密码*/, const char* db/*DateBaseName*/, unsigned int port/*端口号*/,
const char* unix_socket, unsigned long client_flag);
mysql_real_connect()必须成功完成
部分参数¶
unix_socket-- 本地套接字,通常为NULLclient_flag-- 通常为0host-- 写ip地址即可 localhost,null代表本地连接port-- 连接mysql服务端的端口号;if ==0,则3306
返回值¶
与mysql_init()一致
mysql_query¶
执行一个sql语句,“增删改查“
#include <mysql/mysql.h>
MYSQL* mysql_query(MYSQL* mysql/*mysql_real_connect()返回值*/, const char* query);
部分参数¶
query-- 一个可以执行sql的语句
mysql_store_result¶
获取结果集:
将结果集从mysql对象中取出来
对应一块内存地址,其中保存着查询结果的结果集
将行和列取出需要其他函数
返回值¶
具有多个结果;出现错误返回NULL
mysql_num_fields¶
获取结果集列数
- 参数 -- mysql_store_result返回值
- 返回值 -- 列数