在C++中使用MySQL C API需要遵循以下步驟:
/usr/include/mysql
或/usr/local/include/mysql
目錄下。你需要引入以下頭文件:#include <mysql.h>
g++ your_program.cpp -o your_program -lmysqlclient
這里,your_program.cpp
是你的C++源代碼文件,your_program
是生成的可執(zhí)行文件,-lmysqlclient
表示鏈接到MySQL客戶端庫。
mysql_init()
函數(shù)初始化一個(gè)MYSQL
結(jié)構(gòu)體,然后使用mysql_real_connect()
函數(shù)建立與MySQL服務(wù)器的連接。例如:MYSQL *conn;
conn = mysql_init(NULL);
if (!conn) {
fprintf(stderr, "mysql_init() failed\n");
exit(1);
}
if (mysql_real_connect(conn, "localhost", "username", "password", "database", 3306, NULL, 0)) {
fprintf(stderr, "mysql_real_connect() failed: %s\n", mysql_error(conn));
exit(1);
}
mysql_query()
函數(shù)執(zhí)行SQL查詢,然后使用mysql_store_result()
、mysql_use_result()
或mysql_fetch_row()
等函數(shù)處理查詢結(jié)果。例如:if (mysql_query(conn, "SELECT * FROM your_table")) {
fprintf(stderr, "mysql_query() failed: %s\n", mysql_error(conn));
exit(1);
}
MYSQL_RES *result = mysql_store_result(conn);
if (!result) {
fprintf(stderr, "mysql_store_result() failed: %s\n", mysql_error(conn));
exit(1);
}
MYSQL_ROW row;
while ((row = mysql_fetch_row(result))) {
// Process the row data
}
mysql_free_result(result);
mysql_close()
函數(shù)關(guān)閉與MySQL服務(wù)器的連接。例如:mysql_close(conn);
mysql_error()
函數(shù)獲取錯(cuò)誤消息并相應(yīng)地處理它。這只是一個(gè)簡單的示例,展示了如何在C++中使用MySQL C API。實(shí)際上,你可以執(zhí)行更復(fù)雜的操作,如插入、更新和刪除數(shù)據(jù),以及使用預(yù)處理語句等。要了解更多關(guān)于MySQL C API的信息,請參閱官方文檔:https://dev.mysql.com/doc/c-api/8.0/en/