/* Copyright 2009 Nathan Phillip Brink, Ethan Zonca, Matthew Orlando This file is a part of DistRen. DistRen is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. DistRen is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with DistRen. If not, see . */ #include "mysql.h" #include #include "common/asprintf.h" #include #include #include #include #include #include MYSQL mysqlConnect(){ MYSQL *conn; char *server = "zserver1"; char *user = "distren"; char *password = "secretpassword"; char *database = "distren"; conn = mysql_init(NULL); mysql_options(conn, MYSQL_OPT_RECONNECT,"true"); if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) fprintf(stderr, "%s\n", mysql_error(conn)); return *conn; } MYSQL_RES mysqlQuery(MYSQL *conn, char *query){ if (mysql_query(conn, query)) fprintf(stderr, "%s\n", mysql_error(conn)); MYSQL_RES *result; result = mysql_use_result(conn); return *result; } // Check if connection is alive, reconnect if broken. int mysqlPing(MYSQL *conn){ if(mysql_ping(conn)){ fprintf(stderr, "MySQL Connection broken, attempting reconnection..."); return 1; } else return 0; // Connection is still alive } int mysqlFree(MYSQL_RES *res, MYSQL *conn){ mysql_free_result(res); mysql_close(conn); return 0; }