gpt4 book ai didi

mysql_errno 始终返回 0

转载 作者:行者123 更新时间:2023-11-29 14:45:19 25 4
gpt4 key购买 nike

我尝试使用错误的用户或密码连接到服务器,正如预期的那样,它失败了,但 mysql_errno 总是返回 0。我的 mysql 安装有问题吗?

编辑:我正在使用 C 程序进行连接。

int main(int argc, char *argv[]) {
MYSQL my_connection;
mysql_init(&my_connection);
if (mysql_real_connect(
&my_connection,
"localhost",
"rick",
"I do not know",
"foo", 0, NULL, 0)) {
printf("Connection success\n");
mysql_close(&my_connection);
} else {
fprintf(stderr, "Connection failed\n");
if (mysql_errno(&my_connection)) {
fprintf(stderr, "Connection error %d: %s\n",
mysql_errno(&my_connection), mysql_error(&my_connection));
}
}
return EXIT_SUCCESS;
}

在书中,输出应该显示错误 1045:
在我的例子中,它是 0,除了连接失败之外什么都没有打印。

最佳答案

mysql_errno() 仅报告来自有效连接的错误。

错误号来自实际数据库。它如何在没有连接的情况下检索这些内容?

您会在 API example 中注意到,他们不会关心连接失败的错误号

MYSQL mysql;

mysql_init(&mysql);
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"your_prog_name");
if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n",
mysql_error(&mysql));
}

关于mysql_errno 始终返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7086541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com