added mysql connector
[NeonServV5.git] / mysqlConn.c
1
2 #include "mysqlConn.h"
3
4 struct used_result {
5     MYSQL_RES *result;
6     struct used_result *next;
7 };
8
9 static MYSQL *mysql_conn = NULL;
10 static struct used_result *used_results;
11
12 MYSQL *getMySQL() {
13     return mysql_conn;
14 }
15
16 void check_mysql() {
17     if(mysql_ping(mysql_conn)) {
18         //mysql error
19     }
20 }
21
22 MYSQL_RES *mysql_use() {
23     MYSQL_RES *res = mysql_use_result(mysql_conn);
24     struct used_result *result = malloc(sizeof(*result));
25     if (!result) {
26         mysql_free_result(res);
27         return NULL;
28     }
29     result->result = res;
30     result->next = used_results;
31     used_results = result;
32     return res;
33 }
34
35 void mysql_free() {
36     struct used_result *result, *next;
37     for(result = used_results; result; result = next) {
38         next = result->next;
39         mysql_free_result(result->result);
40         free(result);
41     }
42 }
43
44 void init_mysql() {
45     mysql_conn = mysql_init(NULL);
46     if (!mysql_real_connect(mysql_conn, MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_BASE, MYSQL_PORT, NULL, 0)) {
47         //error
48     }
49 }
50
51 void free_mysql() {
52     mysql_close(mysql_conn);
53 }
54