mysql_real_query returns 1, mysql_error() returns a NULL string
Posted by: Francis Bouchard
Date: July 04, 2011 10:15PM

When I run a first query, mysql_real_query returns 1, from what I understand, this is normal, I have to call mysql_errno() and mysql_error() to get information about the error. But why does mysql_error() return a NULL string?

After running a second query or mysql_ping I receive a violation exception.
Any clue to what's happening ?

Here is a part of the code I use, may this help someone pinpoint me the solution. I do not know what is wrong here.

char *server_p = "abc";
char *user_p = "abc";
char *password_p = "abc";
char *database_p = "abc";
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)
{}
}



Edited 4 time(s). Last edit at 07/17/2011 07:54PM by Francis Bouchard.

Options: ReplyQuote


Subject
Views
Written By
Posted
mysql_real_query returns 1, mysql_error() returns a NULL string
5906
July 04, 2011 10:15PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.