要在C++中連接MySQL數據庫,您需要使用MySQL C API提供的函數。以下是一個簡單的示例代碼,演示如何連接MySQL數據庫并執行SQL查詢:
#include <mysql/mysql.h>
#include <iostream>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
conn = mysql_init(NULL);
if (conn == NULL) {
std::cerr << "mysql_init failed" << std::endl;
return 1;
}
if (mysql_real_connect(conn, "localhost", "username", "password", "database", 0, NULL, 0) == NULL) {
std::cerr << "mysql_real_connect failed: " << mysql_error(conn) << std::endl;
mysql_close(conn);
return 1;
}
if (mysql_query(conn, "SELECT * FROM table")) {
std::cerr << "mysql_query failed: " << mysql_error(conn) << std::endl;
mysql_close(conn);
return 1;
}
res = mysql_store_result(conn);
if (res == NULL) {
std::cerr << "mysql_store_result failed: " << mysql_error(conn) << std::endl;
mysql_close(conn);
return 1;
}
while ((row = mysql_fetch_row(res))) {
std::cout << "Field 1: " << row[0] << ", Field 2: " << row[1] << ", Field 3: " << row[2] << std::endl;
}
mysql_free_result(res);
mysql_close(conn);
return 0;
}
在這個示例中,我們首先初始化一個MySQL連接并使用mysql_real_connect
函數連接到數據庫。然后我們執行一個SQL查詢,將結果存儲在MYSQL_RES
結構中,并在循環中逐行處理查詢結果。最后,我們釋放結果集并關閉數據庫連接。
請注意,您需要安裝MySQL C API庫,并在編譯時鏈接該庫。您可以使用-lmysqlclient
標志將該庫鏈接到您的程序中。