mysql C API的使用

来源:互联网 发布:郭沁夺冠知乎 编辑:程序博客网 时间:2024/06/09 00:50

《MySQL++简介》介绍了如何使用C++来访问mysql,本文记录下使用C API访问mysql,mysql++就是对本文介绍的C-API的封装。

常用函数(名字就能告诉我们用法):

MYSQL * mysql_init(MYSQL *mysql)int mysql_options(MYSQL *mysql,enum mysql_option option,              const char *arg)//设置一些如编码等属性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 clientflag) //建立连接int mysql_query(MYSQL *mysql, const char *q) //执行sql语句,Zero for success. Nonzero if an error occurred.my_ulonglong mysql_affected_rows(MYSQL *mysql) //更新语句影响的行数MYSQL_RES * mysql_store_result(MYSQL *mysql) //与mysql_use_result效果等同,获取sql执行结果MYSQL_RES * mysql_use_result(MYSQL *mysql)my_ulonglong mysql_num_rows(MYSQL_RES *res)  //获取行数MYSQL_ROW mysql_fetch_row(MYSQL_RES *result) //逐一取行void mysql_free_result(MYSQL_RES *result)void mysql_close(MYSQL *sock) 


使用实例:

#include <mysql.h> int main() {    MYSQL* mysql = mysql_init(NULL);    mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "gbk");    mysql_real_connect(mysql, "10.38.72.33", "test_user", "test_pwd", "test_db", 3306, NULL, 0);         string sql("select name, age from student");    mysql_query(mysql, sql.c_str());        MYSQL_RES* res = mysql_store_result(mysql);    MYSQL_ROW row;    if (res == NULL) {      cout << "query failed" << endl;      return -1;     }       while ((row = mysql_fetch_row(res)) != NULL) {        cout << "name:" << row[0] << ",age:" << row[1] << endl;    }       mysql_free_result(res);        mysql_close(mysql);    return 0;}

原创粉丝点击