c++

如何在c++中使用mysql库连接数据库

小樊
82
2024-08-22 03:36:31
栏目: 云计算

要在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标志将该库链接到您的程序中。

0
看了该问题的人还看了