自学内容网 自学内容网

mysql_real_connect的概念和使用案例

mysql_real_connect 是 MySQL C API 中的一个函数,用于建立一个到 MySQL 数据库服务器的连接。这个函数尝试建立一个到 MySQL 服务器的连接,并返回一个 MYSQL* 类型的指针,这个指针可以用于后续的数据库操作。

函数原型

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 client_flag);

参数说明

  • mysql: 一个 MYSQL 结构体的指针,该结构体应该已经被 mysql_init 初始化。
  • host: MySQL 服务器的地址,可以是主机名或 IP 地址。
  • user: 连接数据库时使用的用户名。
  • passwd: 连接数据库时使用的密码。
  • db: 要连接的数据库名称。
  • port: MySQL 服务器的端口号,如果为 0,则使用默认端口 3306。
  • unix_socket: 用于连接的 Unix 套接字文件,如果是 NULL,则使用 TCP/IP 连接。
  • client_flag: 客户端标志,用于设置连接选项。

使用案例

以下是一个使用 mysql_real_connect 函数连接到 MySQL 数据库服务器的简单例子:

#include <mysql/mysql.h>
#include <stdio.h>
int main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;
    // 初始化一个 MYSQL 对象
    conn = mysql_init(NULL);
    // 尝试连接到 MySQL 服务器
    if (mysql_real_connect(conn, "host", "user", "password", "database", 0, NULL, 0) == NULL) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        mysql_close(conn);
        exit(1);
    }
    // 执行一个查询
    if (mysql_query(conn, "SELECT * FROM table_name")) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        mysql_close(conn);
        exit(1);
    }
    // 获取查询结果
    res = mysql_use_result(conn);
    // 打印结果集中的每一行
    while ((row = mysql_fetch_row(res)) != NULL) {
        printf("%s\n", row[0]);
    }
    // 释放结果集并关闭连接
    mysql_free_result(res);
    mysql_close(conn);
    return 0;
}

在这个例子中,我们首先使用 mysql_init 初始化一个 MYSQL 结构体,然后使用 mysql_real_connect 尝试连接到指定的 MySQL 服务器。如果连接成功,我们执行一个查询并获取结果集,然后打印出结果集中的每一行。最后,我们释放结果集并关闭连接。
请注意,在实际使用中,你需要将 "host", "user", "password", 和 "database" 替换为实际的数据库服务器地址、用户名、密码和数据库名。此外,编译此代码时需要链接 MySQL 客户端库。


原文地址:https://blog.csdn.net/weixin_42108533/article/details/145233585

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!