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)!