首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

如何判断前面是否已经mysql_real_connect了呢

2013-04-20 
怎么判断前面是否已经mysql_real_connect了呢?怎么判断前面是否已经mysql_real_connect了呢?在一个函数里

怎么判断前面是否已经mysql_real_connect了呢?
怎么判断前面是否已经mysql_real_connect了呢?
在一个函数里面要向mysql里写数据,但是可能前面已经mysql_real_connect了,连接两次又会报错,怎么判断前面是否已经mysql_real_connect了呢?怎么获得它的状态?
[解决办法]
1、 连接池

2、 判断数据库端口的socket状态
[解决办法]
一个变量(可以是类的成员变量,全局变量等等,根据具体情况来看)存储连接时返回的MYSQL *类型指针(成功会返回MYSQL*句柄,失败会返回NULL),以后就可以根据变量是否为NULL来判断之前是否已经成功连接了
[解决办法]

引用:
引用:一个变量(可以是类的成员变量,全局变量等等,根据具体情况来看)存储连接时返回的MYSQL *类型指针(成功会返回MYSQL*句柄,失败会返回NULL),以后就可以根据变量是否为NULL来判断之前是否已经成功连接了我知道了,让mysql_real_connect的返回值给一个MYSQL的指针,然后判断这个指针是否为空就可以判断是否连接……
你mysql_close后,手动把它置为NULL就行了,一般的指针操作都要注意收尾操作
[解决办法]
引用:
引用:1、 连接池

2、 判断数据库端口的socket状态忘明示啊。。。不懂



用连接池 就是说由连接池来负责管理数据库连接,你从连接池里拿出来的连接默认为就是可信任的有效连接,这个连接池你可以自己实现,也可以用第三方的

判断socket端口 数据库连接实际上就是一个socket连接,所以有对应的端口号,比如你的9013端口连接的数据库的8080端口,你可以用netstat查看你的9013的连接状态
[解决办法]
调用mysql_ping()函数可以检测本客户端是否丢失了连接,如果丢失了连接,则可以自动重新连接.

热点排行