Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require ("mysqloo") // Include the modules
- local DATABASE_HOST = "localhost" // database host (can be an ip)
- local DATABASE_PORT = 3306 // port to the database, you probably wont need to change this unless you get told to
- local DATABASE_NAME = "stalkerrp" // name of the database
- local DATABASE_USERNAME = "root" // username which you use to access it
- local DATABASE_PASSWORD = "" // password of the username
- function connectToDatabase()
- databaseObject = mysqloo.connect(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME, DATABASE_PORT)
- databaseObject.onConnected = function() print("Database linked!") end
- databaseObject.onConnectionFailed = function() print("Failed to connect to the database.") end
- databaseObject:connect()
- end
- connectToDatabase()
- function checkQuery(query)
- local playerInfo = query:getData()
- if playerInfo[1] ~= nil then
- return true
- else
- return false
- end
- end
- function PLAYER:GetPData(key)
- local retVal = nil
- local id = self:UniqueID()
- local key = key
- MsgN("PData [SQL -> MySQL]: Getting '" .. key .. "' for '" .. id .. "' !")
- local insertQ = databaseObject:query("SELECT `vvalue` from `players` WHERE `uniqueid` = " .. id .. " AND `vkey` = '" .. key .. "'");
- insertQ:start()
- insertQ:wait()
- local succesQ = insertQ:getData()
- retVal = succesQ[1] or nil
- if istable(retVal) then retVal = retVal["vvalue"] end
- return retVal
- end
- function PLAYER:SetPData(key, value)
- -- Don't keep it local why would you keep it local you're globalizing the system for a reason
- local rvalue = value
- local id = self:UniqueID()
- local key = sql.SQLStr(key)
- local value = sql.SQLStr(value)
- MsgN("PData [SQL -> MySQL]: Updating '" .. key .. "' for '" .. id .. "' with '" .. tostring(value) .. "'!")
- MsgN("PData [SQL -> MySQL]: Removing data-table '" .. key .. "' for '" .. id .. "' with '" .. tostring(value) .. "'!")
- local deleteQ = databaseObject:query("DELETE FROM `players` WHERE `uniqueid` = " .. id .. " AND `vkey` = " .. key .. "")
- deleteQ.onError = DBError
- deleteQ:start()
- if rvalue != nil and rvalue != "nil" then
- MsgN("PData [SQL -> MySQL]: Creating key '" .. key .. "' for '" .. id .. "' with '" .. tostring(value) .. "'!")
- local insertQ = databaseObject:query("INSERT INTO `players` (`uniqueid`, `vkey`, `vvalue`) VALUES (" .. id .. ", " .. key .. ", " .. value .. ")")
- insertQ.onError = DBError
- insertQ:start()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement