mysql_init 的声明如下:

MYSQL *mysql_init(MYSQL *mysql);

    官方文档里说:

    Allocates or initializes a MYSQL object suitable for mysql_real_connect(). If mysql is a NULL pointer, the function allocates, initializes, and returns a new object. Otherwise, the object is initialized and the address of the object is returned. If mysql_init() allocates a new object, it is freed when mysql_close() is called to close the connection

    它的意思是,这个函数用来分配或者初始化一个MYSQL对象,用于连接mysql服务端。如果你传入的参数是NULL指针,它将自动为你分配一个MYSQL对象,如果这个MYSQL对象是它自动分配的,那么在调用mysql_close的时候,会释放这个对象。那么,这就有可能出现一个问题,就是,当你主动调用mysql_close之后,可能因为某些原因,又调用一次mysql_close,第二次调用,有可能因为mysql已经是野指针导致程序崩溃。另外,在我的实际运用过程中,有出现一些api调用过程中出错时,自动调用了mysql_close的情况。由于这种自动调用不会被程序感知,因此程序主动close的时候会导致崩溃。为了安全起见,建议不要让mysql_init api自动创建MYSQL对象,而由自己管理这个对象,并且传入地址让它完成初始化,这样,即使你多次调用close函数,也不会出现程序崩溃的现象。

         

mysql c api mysql_init 的使用注意事项相关推荐

  1. linux c mysql 封装_本人对MYSQL C API做的一个封装,希望对linux C++程序员有点帮助,同时欢迎拍砖!...

    本人对MYSQL  C API做的一个封装,使用很简单,构造一个对象,就可直接执行SQL,但对于需返回结果的查询语句,对其数据集没做封装,仍需直接调用mysql c api对其进行处理,本人将下次完成 ...

  2. mysql数据库连接ado_mysql:2种连接数据库方式:ADO连接、mysql的API连接 | 学步园...

    一.创建数据库.创建表.插入数据 >show databases; >create database mydb; >user mydb; >create table mytab ...

  3. mysql c api example_The MySQL C API 编程实例

    在网上找了一些MYSQL C API编程的文章,看了后认为还是写的不够充分,依据自己经验写了这篇<The MySQL C API 编程实例>,希望对须要调用到MYSQL的C的API的朋友有 ...

  4. Linux下MySQL C API简单示例

    2019独角兽企业重金招聘Python工程师标准>>> 1. 创建数据库 drop database testdb; commit;create database testdb; c ...

  5. MFC连接MySQL C API方法

    1.首先下载一个32位的MySQL,因为vc的版本是32位了,不用32 位的MySQL会出现无效的机械码错误. MySQL安装地址:https://dev.mysql.com/downloads/my ...

  6. mysql英文介绍_每日科技英文48: MySQL C API简介

    今日要点: MySQL C API的定义 MySQL C API包含的内容 如何获取MySQL C API 什么是库(library)的解释 windows版外带调试库 JDBC,ODBC,ADO,P ...

  7. MySQL read-c_技术分享 | MySQL C API 参数 MYSQL_OPT_READ_TIMEOUT 的一些行为分析

    作者:戴岳兵 MYSQL_OPT_READ_TIMEOUT 是 MySQL c api 客户端中用来设置读取超时时间的参数.在 MySQL 的官方文档中,该参数的描述是这样的: MYSQL_OPT_R ...

  8. iPhone的mysql客户端_适用于iPhone的MySQL C API库

    我是这样做的: 1)从MySQL下载Connector / C的源代码版本 2)下载cmake(如果你安装了macport,输入"sudo port install cmake") ...

  9. mysql c api简单连接池

    连接池为了解决频繁的创建.销毁所带来的系统开销. 简而言之,就是 自己先创建一定量的连接,然后在需要的时候取出一条连接使用. 当然如果你只有一个线程连接数据库,而且不是实时返回结果,那么你完全不必用连 ...

最新文章

  1. Mac下编译Android源码,并导入IntelliJ IDEA进行源码阅读
  2. gb2312 requests乱码_不要相信requests返回的text
  3. 花5分钟过一遍jar包和war包的区别,以后都不会再迷茫
  4. 学霸大佬整理,超全 Python 学习路线图(附工具+视频+书籍+面试)
  5. Android Studio使用小技巧:提取方法代码片段
  6. MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)...
  7. TF-IDF 提取文本关键词
  8. 将Tomcat集成到eclipse中并写出第一条web语句
  9. 详实!DevOps 最新现状研究报告解读 | 原力计划
  10. 掘金 Markdown 语法手册
  11. 新版眼保健操图解(转)
  12. 豆瓣电影数据可视化项目
  13. 大鱼吃小鱼java程序设计
  14. 计算udp校验和例子_UDP 协议校验和计算
  15. css实现圆形进度条
  16. 你为什么在现在的公司不离职?
  17. “中文问题没商量”之Ant中的中文问题
  18. 计算机更名无法登陆用友u8,用友T6软件修改了计算机名称后,系统管理提示不能连接服务器-用友T6...
  19. 2020-10-30
  20. 2013 12 android 凯立德秋季高清旗舰 百度云,【荐】2013.4.12凯立德春季完美安卓手机版+4月23日更新车用高清版...

热门文章

  1. python图像特征提取与匹配_[OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (二)...
  2. 利用 BLKTRACE 和 BTT 分析磁盘 IO 性能
  3. 协方差检验用在什么地方_通过一个简单例子,通俗讲下协方差分析
  4. Archlinux + Gnome 安装教程
  5. 数据仓库的几种建模方法
  6. ai绘画图片素材有哪些软件?安利三个软件
  7. Rational Arithmetic
  8. n个小孩围成一圈,顺序报号,从第一个人开始报数(从1报到5),凡是报到5的人退出圈子,问最后留下的小孩原来是几号
  9. 移动终端基带芯片基本架构
  10. java-php-python-ssm4.13基于SSM的高校学生综合素质评价系统计算机毕业设计