【小白问问题】程序在mysql_real_connect中一去不复返怎么办?

lanchengkai 2014-10-18 02:43:06
RT

当我尝试输入 错误的IP 给mysql_real_connect //想要做一个 如果连接不到IP 就自动退出

程序就在次子程序中 无限卡住了(我大概等了1分钟左右吧 可能什么时候确实能跳出来)

这个问题怎么解决

也没有提示什么错误
...全文
239 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-10-26
  • 打赏
  • 举报
回复
先参考mysql自带的相关例子代码。
lanchengkai 2014-10-26
  • 打赏
  • 举报
回复
引用 6 楼 zhao4zhong1 的回复:
先参考mysql自带的相关例子代码。
CMD里自定义函数输出的没有问题的 但是在C++里 的结果集得不到答案 我找了挺久这方面的资料。。但是没有什么斩获 还望大侠能给一条明路。
lanchengkai 2014-10-26
  • 打赏
  • 举报
回复
引用 4 楼 zhao4zhong1 的回复:
放在另一个单独的线程中connect
另外再问一个问题 不想开新贴了。。 我在C++ 程序里面 尝试调用 MYSQL里头的自动以函数 为什么在mysql_store_result(&mysql);里头 得不到结果 mysql_query(&mysql,“SELECT SELX(3)”); //SELX(int x) 是我在navicat 里面创建的函数 返回一个整数 //性质相当于 SELECT x FROM table limit 3,1 //可是前者 得不到结果 后者可以 这怎么解决?
孤雲独去闲 2014-10-18
  • 打赏
  • 举报
回复
有个mysql_options函数。

int mysql_options(MYSQL *connection, enum option_to_set,
const char *argument);
可以让你设定一些选项。比如设定连接超时时间为7秒,可以

unsigned int timeout = 7;
...
connection = mysql_init(NULL);
ret = mysql_options(connection, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&timeout);
if (ret) {
/* Handle error */
...
}
connection = mysql_real_connect(connection …
mujiok2003 2014-10-18
  • 打赏
  • 举报
回复
mysql_real_connect 应该是一个阻塞(block)函数, 你没有太多选项。 你可以试试用non-blocking的socket尝试连接成功后再调用该函数。
赵4老师 2014-10-18
  • 打赏
  • 举报
回复
放在另一个单独的线程中connect
lanchengkai 2014-10-18
  • 打赏
  • 举报
回复
引用 2 楼 yangyangsnr 的回复:
有个mysql_options函数。

int mysql_options(MYSQL *connection, enum option_to_set,
const char *argument);
可以让你设定一些选项。比如设定连接超时时间为7秒,可以

unsigned int timeout = 7;
...
connection = mysql_init(NULL);
ret = mysql_options(connection, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&timeout);
if (ret) {
/* Handle error */
...
}
connection = mysql_real_connect(connection …
這個函數我試過了 我都是哭出來 了。。。 完全沒效果。。。

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧