具体安装看下面这个连接
(18条消息) Mysql使用详解_@seven@的博客-CSDN博客
MYSQL *mysql_init(MYSQL *mysql);
mysql 可以传 NULL
返回值:mysql句柄
int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg)
描述
可用于设置额外的连接选项,并影响连接的行为。可多次调用该函数来设置数个选项。
应在mysql_init()之后、以及mysql_connect()或mysql_real_connect()之前调用mysql_options()。
选项参量指的是你打算设置的选项。Arg参量是选项的值。如果选项是整数,那么arg应指向整数的值。
如:
mysql_options(m_mysql, MYSQL_OPT_RECONNECT, &reconnect);配合mysql_ping实现自动重连
mysql_options(m_mysql, MYSQL_SET_CHARSET_NAME, “utf8mb4”);//编码设置
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 初始化的句柄指针
- host 主机地址
- user 用户名 – mysql数据库 root
- passwd 用户的密码
- db 要连接的数据库
- port 端口 一般填0,mysql默认端口 3306
- unix_socket 本地套接字 ,一般填NULL
- client_flag 连接标志 一般填0
返回值:成功返回 连接句柄,失败返回 NULL
mysql_close(MYSQY* conn);
释放conn连接资源
int mysql_query(MYSQL *mysql, const char *query)
参数介绍:
- mysql 连接句柄
- query 执行的sql
反回值:
- 成功 返回 0
- 失败 返回 非0
MYSQL_RES *mysql_store_result(MYSQL *mysql)
返回值:
如果读取结果集失败,mysql_store_result()还会返回Null指针。
通过检查mysql_error()是否返回非空字符串,mysql_errno()是否返回非0值,或mysql_field_count()是否返回0,可以检查是否出现了错误。
如:
MYSQL_RES* res = mysql_store_result(m_mysql);
void mysql_free_result(MYSQL_RES *result)
如:
mysql_free_result(m_res);
m_res = NULL;
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
描述
检索结果集的下一行。在mysql_store_result()之后使用时,如果没有要检索的行,mysql_fetch_row()返回NULL。在mysql_use_result()之后使用时,如果没有要检索的行或出现了错误,mysql_fetch_row()返回NULL。
行内值的数目由mysql_num_fields(result)给出。如果行中保存了调用mysql_fetch_row()返回的值,将按照row[0]到row[mysql_num_fields(result)-1],访问这些值的指针。行中的NULL值由NULL指针指明。
可以通过调用mysql_fetch_lengths()来获得行中字段值的长度。对于空字段以及包含NULL的字段,长度为0。通过检查字段值的指针,能够区分它们。如果指针为NULL,字段为NULL,否则字段为空。
返回值
下一行的MYSQL_ROW结构。如果没有更多要检索的行或出现了错误,返回NULL。
unsigned int mysql_num_fields(MYSQL_RES *result)
描述:返回结果集中的列数。
注意,你可以从指向结果集的指针或指向连接句柄的指针获得行数。如果mysql_store_result()或mysql_use_result()返回NULL,应使用连接句柄(因而没有结果集指针)。在该情况下,可调用mysql_field_count()来判断mysql_store_result()是否生成了非空结果。这样,客户端程序就能采取恰当的行动,而不需要知道查询是否是SELECT语句(或类似SELECT的语句)。在下面的示例中,介绍了执行该操作的方式。
行数直接判断MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)是否为空
如:
int num_fields = mysql_num_fields(m_res);
MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)
描述
返回采用MYSQL_FIELD结构的结果集的列。重复调用该函数,以检索关于结果集中所有列的信息。未剩余字段时,mysql_fetch_field()返回NULL。
每次执行新的SELECT查询时,将复位mysql_fetch_field(),以返回关于第1个字段的信息。调用mysql_field_seek()也会影响mysql_fetch_field()返回的字段。
如果调用了mysql_query()以在表上执行SELECT,但未调用mysql_store_result(),如果调用了mysql_fetch_field()以请求BLOB字段的长度,MySQL将返回默认的Blob长度(8KB)。之所以选择8KB是因为MySQL不知道BLOB的最大长度。应在日后使其成为可配置的。一旦检索了结果集,field->max_length将包含特定查询中该列的最大值的长度。
返回值
当前列的MYSQL_FIELD结构。如果未剩余任何列,返回NULL。