我正在尝试构建一个队列处理器,它从 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 函数时都会遇到错误。请帮忙!
也许编译器会
connect
与另一个变量或函数名称(如套接字 connect
)混淆。尝试不同的变量名称 - 不过应该会产生警告。
我遇到这个错误并成功解决:
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);
}