static struct escaped_string *escaped_strings;
void check_mysql() {
- if(mysql_ping(mysql_conn)) {
- //mysql error
+ int errid;
+ if((errid = mysql_ping(mysql_conn))) {
+ if(mysql_errno(mysql_conn) == CR_SERVER_GONE_ERROR) {
+ if(!mysql_real_connect(mysql_conn, MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_BASE, MYSQL_PORT, NULL, 0)) {
+ show_mysql_error();
+ }
+ } else {
+ //mysql error
+ show_mysql_error();
+ }
}
}
MYSQL_RES *mysql_use() {
- MYSQL_RES *res = mysql_use_result(mysql_conn);
+ MYSQL_RES *res = mysql_store_result(mysql_conn);
struct used_result *result = malloc(sizeof(*result));
if (!result) {
mysql_free_result(res);
free(escaped->string);
free(escaped);
}
- escaped_strings = NULL
+ escaped_strings = NULL;
}
void init_mysql() {
queryBuf[pos] = '\0';
printf("MySQL: %s\n", queryBuf);
if(mysql_query(mysql_conn, queryBuf)) {
- show_mysql_error();
+ check_mysql();
+ if(mysql_query(mysql_conn, queryBuf)) {
+ show_mysql_error();
+ }
}
}