c++ mysql 开发

环境安装

apt-get install libmysqlclient-dev
在/usr/include/mysql/目录下的 mysql.h 是主要的 API 接口头文件

函数原型

mysql_init

MYSQL *mysql_init(MYSQL *mysql)

作用

  • 分配或初始化与 mysql_real_connect()相适应的 MYSQL 对象。
  • 如果 mysql 是 NULL 指针,该函数将分配、初始化、并返回新对象。否则,将初始化对象,并返回对象的地址。
  • 如果 mysql_init()分配了新的对象,当调用 mysql_close()来关闭连接时。将释放该对象。

参数

mysql: 有两种情况,一般都采用第⑴种方法.
参数传 NULL 值
这种情况很显然,是 mysql_init() 函数内部申请了一片内存,然后返回了首 地址。
MYSQL *ms_conn = mysql_init(NULL);
用完记得要释放
mysql_close(ms_conn), ms_conn = NULL;
参数传对象地址
这种情况就是使用栈内存,mysql_init() 函数显然不应该给分配堆内存。
MYSQL ms_eg;
MYSQL *ms_conn = mysql_init(&ms_eg);
用完记得要释放
mysql_close(ms_conn), ms_conn = NULL;

返回值

初始化的 MYSQL*句柄。如果无足够内存以分配新的对象,返回 NULL。

错误

在内存不足的情况下,返回 NULL。

mysql_real_connect

 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_real_connect()尝试与运行在主机上的 MySQL 数据库引擎建立连接。
  • 在你能 够 执 行 需 要 有 效 MySQL 连 接 句 柄 结 构 的 任 何 其 他 API 函 数 之 前 , mysql_real_connect()必须成功完成。

参数

mysql: MYSQL 结构的地址。调用 mysql_real_connect()之前,必须调用 mysql_init()来初始化 MYSQL 结构。
host: 必须是主机名或 IP 地址。如果“host”是 NULL 或字符串"localhost",连 接将被视为与本地主机的连接。
user:用户名
passwd: 用户的密码。如果“passwd”是 NULL,仅会对该用户的(拥有 1 个空密码字段的)用户表中的条目进行匹配检查。这样,数据库管理员就能按特定的方式设置 MySQL 权限系统,根据用户是否拥有指定的密码,用户将获得不同 的权限。
db: 数据库名称。如果 db 为 NULL,连接会将默认的数据库设为该值。
port: 如果“port”不是 0,其值将用作 TCP/IP 连接的端口号。注意,“host” 参数决定了连接的类型。
unix_socket: 如果 unix_socket 不是 NULL,该字符串描述了应使用的套接字或命 名管道。注意,“host”参数决定了连接的类型。
client_flag: 通常为 0,但是,也能将其设置为下述标志的组合,以允许特定功 能

标志名称 标志描述
CLIENT_COMPRESS 使用压缩协议。
CLIENT_FOUND_ROWS 返回发现的行数(匹配的),而不是受影响的行数。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值