mysql_real_query 返回值_mysql_real_query返回1,mysql_error返回NULL字符串

mysql_real_query 返回值_mysql_real_query返回1,mysql_error返回NULL字符串当我运行第一个查询时,mysql_real_query返回1,据我所知,这是正常的,我必须调用mysql_errno()和mysql_error()来获取有关错误的信息。但为什么mysql_error()返回一个NULL字符串?mysql_real_query返回1,mysql_error返回NULL字符串运行第二个查询或mysql_ping后,我收到违规异常。任何线索发生了什么?此外,我应该在…

当我运行第一个查询时,mysql_real_query返回1,据我所知,这是正常的,我必须调用mysql_errno()和mysql_error()来获取有关错误的信息。但为什么mysql_error()返回一个NULL字符串?mysql_real_query返回1,mysql_error返回NULL字符串

运行第二个查询或mysql_ping后,我收到违规异常。 任何线索发生了什么?

此外,我应该在C++程序中使用C++连接器还是可能C连接器(这是我使用的)也适用。我需要在我的编译器下编译它才能使用它吗?

这是我使用的代码的一部分,这可以帮助别人找到我的解决方案。我不知道这里有什么问题。

char req[50];

static char *serverOptions_p[] = {

“abc”,

“–datadir=C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/data/abc”,

“–language=C:/Program Files/MySQL/MySQL Server 5.5/share/english”,

NULL

};

int numElements = sizeof (serverOptions_p)/sizeof(char *) – 1;

static char *serverGroups_p[] = { “mysql_server”, NULL };

if (mysql_library_init(numElements, serverOptions_p, (char **) serverGroups_p)) {

return;

}

d_connectionHandle_p = mysql_init(NULL);

if (d_connectionHandle_p) {

my_bool mb = true;

mysql_options(d_connectionHandle_p, MYSQL_OPT_RECONNECT, &mb);

if (mysql_real_connect(d_connectionHandle_p, server_p, user_p, password_p, database_p, 0, NULL, 0)) {

sprintf(req, “CREATE DATABASE %s”, database_p);

mysql_real_query(d_connectionHandle_p, requete, strlen(requete));

}

}

else {

return;

}

int e;

strcpy(req, “SELECT * FROM test”);

if ((e = mysql_real_query(d_connectionHandle_p, req, strlen(req))) != 0) { // This is where it returns 1

const char *err = mysql_error(d_connectionHandle_p); // Returns an empty string

if (err)

{

}

}

+0

要回答你的问题之一,不,还有用C编写的MySQL连接器在C++中没有问题。 –

+0

你有没有得到这个工作?我处于完全相同的情况。 –

+0

糟糕。在我的情况下,它只是查询字符串的长度(mysql_real_query的第三个参数),它错误地提供了。 –

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37471.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注