mysql_real_connect 给出分段错误 - C++

问题描述 投票:0回答:2

我正在尝试构建一个队列处理器,它从 mysql 获取任务作业,并且我需要 mysql 连接器变量是全局的,因为我需要在多个函数中使用它。这是代码:

...

MYSQL *connect;

...

int main(int argc, char *argv[]) {
...
   connect = mysql_init(NULL);
   if (connect == NULL) { do something and end }
   mysql_real_connect(connect, "127.0.0.1", "username", "password" , "database", 0, 0, 0);
...
   return 0;
}

无论我尝试什么,在调用 mysql_real_connect 函数时都会遇到错误。请帮忙!

c++ pointers segmentation-fault mysql
2个回答
0
投票

也许编译器会

connect
与另一个变量或函数名称(如套接字
connect
)混淆。尝试不同的变量名称 - 不过应该会产生警告。


0
投票

我遇到这个错误并成功解决:

connect = mysql_init(connect); // mysql_init should both pass in and out
f (connect == NULL) { do something and end }
if (!mysql_real_connect(connect, "127.0.0.1", "username", "password" , "database", 0, 0, 0)) {
  exit(1);
}
© www.soinside.com 2019 - 2024. All rights reserved.