#include "conf.h"
#include "sysdep.h"
#include "mysql.h"
#include "structs.h"
#include "utils.h"
#include "db.h"
#define DBINTERFACEBARE_C
#include "dbinterfacebare.h"
/* MySQL Database Connection Routines */
void connect_database (void) {
SQLdb = (MYSQL *) malloc (sizeof(MYSQL));
mysql_init(SQLdb);
if (!mysql_real_connect(SQLdb, mySQL_host, mySQL_user, mySQL_pass, "players", mySQL_port, NULL, 0)) exit(0);
}
void QUERY_DATABASE(MYSQL *db, char *query, int len) {
static char tries=0;
if (mysql_real_query(db, query, len)) { /* This is BAD! */
if (tries>=2)
exit(0);
tries++;
mysql_close(SQLdb); /* Whether the DB connection died or something else... reset the connection and try again. */
connect_database();
QUERY_DATABASE(db, query, len); /* Retry. */
}
tries=0;
}
MYSQL_RES *STORE_RESULT (MYSQL *db) {
MYSQL_RES *result;
if (!(result=mysql_store_result(db))) return NULL;
return result;
}
MYSQL_ROW FETCH_ROW (MYSQL_RES *result) {
MYSQL_ROW row;
if (!(row=mysql_fetch_row(result)) && mysql_errno(SQLdb))
return NULL;
return row;
}