阅读量:98
要在C++中连接MySQL数据库,您需要使用MySQL C API提供的函数。以下是一个简单的示例代码,演示如何连接MySQL数据库并执行SQL查询:
#include
#include
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
conn = mysql_init(NULL);
if (conn == NULL) {
std::cerr << "mysql_init failed" << std class="hljs-keyword">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 class="hljs-built_in">mysql_close(conn);
return 1;
}
if (mysql_query(conn, "SELECT * FROM table")) {
std::cerr << "mysql_query failed: " << mysql_error(conn) << std class="hljs-built_in">mysql_close(conn);
return 1;
}
res = mysql_store_result(conn);
if (res == NULL) {
std::cerr << "mysql_store_result failed: " << mysql_error(conn) << std class="hljs-built_in">mysql_close(conn);
return 1;
}
while ((row = mysql_fetch_row(res))) {
std::cout << "Field 1: " << row class="hljs-number">0] << ", Field 2: " << row class="hljs-number">1] << ", Field 3: " << row class="hljs-number">2] << std class="hljs-built_in">mysql_free_result(res);
mysql_close(conn);
return 0;
}
在这个示例中,我们首先初始化一个MySQL连接并使用mysql_real_connect函数连接到数据库。然后我们执行一个SQL查询,将结果存储在MYSQL_RES结构中,并在循环中逐行处理查询结果。最后,我们释放结果集并关闭数据库连接。
请注意,您需要安装MySQL C API库,并在编译时链接该库。您可以使用-lmysqlclient标志将该库链接到您的程序中。