· 8 years ago · Feb 18, 2018, 02:34 PM
1//------------------------------------
2// MySQL.lua
3//------------------------------------
4
5mysql = {}
6
7----------------------------------
8-- Don't edit under this line --
9----------------------------------
10
11local function DefaultHandle( results , status , err )
12
13 if ( status == false ) then -- Something must have errored right?
14
15 print( "Error in MySQL : " .. err )
16
17 end
18
19end
20
21if !tmysql or !mysql then
22 Msg( "Failed to load mysql.lua , please install corect modules\n" );
23 return false
24end
25
26function mysql.Query( ... )
27
28 tmysql.initialize(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME, DATABASE_PORT)
29 tmysql.query( ... )
30
31end
32
33function mysql.Escape( ... )
34
35 return tmysql.escape( ... )
36
37end
38
39function mysql.Poll( )
40
41 return tmysql.poll()
42
43end
44
45function mysql.Insert( name , keys , values ,callback )
46
47 local str = "INSERT INTO "
48 str = str .. name
49 local str2 = " ( "
50
51 for k,v in ipairs( keys ) do
52
53 if k == 1 then
54 str2 = str2 .. mysql.Escape(v)
55 else
56 str2 = str2 .. "," .. mysql.Escape(v)
57 end
58
59 end
60
61 str2 = str2 .. " ) VALUES( "
62
63 for k,v in ipairs( values ) do
64
65 if type( v ) == "number" then
66
67 if k == 1 then
68 str2 = str2 .. " " .. mysql.Escape(v) .. ""
69 else
70 str2 = str2 .. ", " .. mysql.Escape(v) .. ""
71 end
72
73 else
74
75 if k == 1 then
76 str2 = str2 .. " '" .. mysql.Escape(v) .. "'"
77 else
78 str2 = str2 .. ", '" .. mysql.Escape(v) .. "'"
79 end
80
81 end
82
83 end
84
85 str = str .. str2 .. " )"
86
87 if !callback then callback = DefaultHandle end
88
89 mysql.Query(str , callback )
90
91 return mysql
92
93end
94
95function mysql.CreateTable(name , specs, callback)
96
97 local str = "CREATE TABLE IF NOT EXISTS "
98 str = str .. mysql.Escape(name)
99 local str2 = "( "
100
101 for k , v in ipairs( specs ) do
102
103 if k==1 then
104 str2 = str2 .. v[1] .. " " .. v[2]
105 else
106 str2 = str2 .. " , " .. v[1] .. " " .. v[2]
107 end
108
109 end
110
111 str = str .. str2 .. " ) "
112
113 if !callback then callback = DefaultHandle end
114 mysql.Query(str , calback )
115
116 return mysql
117
118end
119
120function mysql.DropTable(name, callback )
121
122 if !callback then callback = DefaultHandle end
123 mysql.Query("DROP TABLE " .. name .." IF EXISTS" , callback )
124
125 return mysql
126
127end
128
129function mysql.RenameTable(name,newname,callback )
130
131 if !callback then callback = DefaultHandle end
132 mysql.Query("RENAME TABLE " .. name .." TO " .. newname , callback )
133
134 return mysql
135end
136
137function mysql.CreateUser(name,pass,callback )
138
139 if !callback then callback = DefaultHandle end
140 mysql.Query("CREATE USER '" .. name .."' IDENTIFIED BY " .. pass , callback )
141
142 return mysql
143
144end
145
146function mysql.EmptyTable( name , callback )
147
148 if !callback then callback = DefaultHandle end
149 mysql.Query("TRUNCATE TABLE " .. name , callback )
150
151 return mysql
152
153end
154
155function mysql.SelectAllFromTable( name , callback )
156
157 if !callback then callback = DefaultHandle end
158 mysql.Query("SELECT * FROM " .. name , callback )
159
160 return mysql
161
162end
163
164local function connectToDatabase()
165 HasRan = true
166 tmysql.initialize(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME, DATABASE_PORT)
167 timer.Simple( 0.01 , hook.Call , "DatabaseConnect" , GAMEMODE )
168end
169
170if !HasRan then
171 connectToDatabase()
172end