Jump to content

[Help] Mysql Update Query


Recommended Posts

Hi all i've a problem with my SQL syntax.

Can someone help me ?

  
function updateDB(playerAccount) 
    ... 
    -- Update Player Table 
    local mail = getElementData(localPlayer,"temp.mail") 
    local bDay = getElementData(localPlayer,"temp.bDay") 
    local bMonth = getElementData(localPlayer,"temp.bMonth") 
    local bYear = getElementData(localPlayer,"temp.bYear") 
    local level = getElementData(localPlayer,"temp.level") 
    local VIP = getElementData(localPlayer,"temp.VIP") 
    local welcomeText = getElementData(localPlayer,"temp.welcomeText") 
    local achievementPoints = getElementData(localPlayer,"temp.achivementPoints") 
    local token = getElementData(localPlayer,"temp.token") 
    local tokenBought = getElementData(localPlayer,"temp.tokenbought") 
    dbExec(connect,"UPDATE 'Player' (mail,bDay,bMonth,bYear,level,VIP,welcomeText,achivementPoints,token,tokenbought) SET (?,?,?,?,?,?,?,?,?,?) WHERE account=?",mail,bDay,bMonth,bYear,level,VIP,welcomeText,achivementPoints,token,tokenbought,playerAccount) 
    outputDebugString("Player Table has been Updated - OK") 
    ... 
end 
  

Error Message :

  
[15:52:55] WARNING: @[gamemodes]/[race]/[addons]/panel/server.lua:120: dbExec failed; (1064) You ha 
ve an error in your SQL syntax; check the manual that corresponds to your MySQL server version for 
the right syntax to use near ''Player' (mail,bDay,bMonth,bYear,level,VIP,welcomeText,achivementPoin 
ts,token,to' at line 1 
  

Thanks.

Link to comment

Try this:

local _getElementData = getElementData 
 function getElementData ( plr, group ) 
    return tostring ( _getElementData ( plr, group ) ) 
 end 
  
  
function updateDB(playerAccount) 
    -- Update Player Table 
    local mail = getElementData(localPlayer,"temp.mail") 
    local bDay = getElementData(localPlayer,"temp.bDay") 
    local bMonth = getElementData(localPlayer,"temp.bMonth") 
    local bYear = getElementData(localPlayer,"temp.bYear") 
    local level = getElementData(localPlayer,"temp.level") 
    local VIP = getElementData(localPlayer,"temp.VIP") 
    local welcomeText = getElementData(localPlayer,"temp.welcomeText") 
    local achievementPoints = getElementData(localPlayer,"temp.achivementPoints") 
    local token = getElementData(localPlayer,"temp.token") 
    local tokenBought = getElementData(localPlayer,"temp.tokenbought") 
    dbExec ( connect, "UPDATE Player SET mail=?, bDay=?, bMonth=?, bYear=?, level=?, VIP=?, welcomeText=?, achivementPoints=?, token=?, tokenbought=? WHERE account=?", 
        bDay, bMonth, bYear, level, VIP, welcomeText, achievementPoints, token, tokenBought, playerAccount ) 
     
    outputDebugString("Player Table has been Updated - OK") 
end 
  

Link to comment

Now i got this error.

  
[19:00:47] WARNING: [gamemodes]/[race]/[addons]/panel/server.lua:105: Bad argume 
nt @ 'getElementData' [Expected element at argument 1, got nil] 
[19:00:47] WARNING: [gamemodes]/[race]/[addons]/panel/server.lua:105: Bad argume 
nt @ 'getElementData' [Expected element at argument 1, got nil] 
[19:00:47] WARNING: [gamemodes]/[race]/[addons]/panel/server.lua:105: Bad argume 
nt @ 'getElementData' [Expected element at argument 1, got nil] 
[19:00:47] WARNING: [gamemodes]/[race]/[addons]/panel/server.lua:105: Bad argume 
nt @ 'getElementData' [Expected element at argument 1, got nil] 
[19:00:47] WARNING: [gamemodes]/[race]/[addons]/panel/server.lua:105: Bad argume 
nt @ 'getElementData' [Expected element at argument 1, got nil] 
[19:00:47] WARNING: [gamemodes]/[race]/[addons]/panel/server.lua:105: Bad argume 
nt @ 'getElementData' [Expected element at argument 1, got nil] 
[19:00:47] WARNING: [gamemodes]/[race]/[addons]/panel/server.lua:105: Bad argume 
nt @ 'getElementData' [Expected element at argument 1, got nil] 
  
  

Link to comment
I don't understand this part. Can you explain ?
  
 local _getElementData = getElementData 
 function getElementData ( plr, group ) 
    return tostring ( _getElementData ( plr, group ) ) 
 end 
  

I made that so that it returns a string no matter what.

Sorry but I didn't notice this. You are trying to use a client variable localPlayer on the server side. Try this:

local _getElementData = getElementData 
 function getElementData ( plr, group ) 
    return tostring ( _getElementData ( plr, group ) ) 
 end 
  
  
function updateDB(playerAccount) 
    -- Update Player Table 
    local localPlayer = playerFromAccount ( playerAccount ) 
    if not localPlayer then return end 
    local mail = getElementData(localPlayer,"temp.mail") 
    local bDay = getElementData(localPlayer,"temp.bDay") 
    local bMonth = getElementData(localPlayer,"temp.bMonth") 
    local bYear = getElementData(localPlayer,"temp.bYear") 
    local level = getElementData(localPlayer,"temp.level") 
    local VIP = getElementData(localPlayer,"temp.VIP") 
    local welcomeText = getElementData(localPlayer,"temp.welcomeText") 
    local achievementPoints = getElementData(localPlayer,"temp.achivementPoints") 
    local token = getElementData(localPlayer,"temp.token") 
    local tokenBought = getElementData(localPlayer,"temp.tokenbought") 
    dbExec ( connect, "UPDATE Player SET mail=?, bDay=?, bMonth=?, bYear=?, level=?, VIP=?, welcomeText=?, achivementPoints=?, token=?, tokenbought=? WHERE account=?", 
        bDay, bMonth, bYear, level, VIP, welcomeText, achievementPoints, token, tokenBought, playerAccount ) 
    
    outputDebugString("Player Table has been Updated - OK") 
end 
  
function playerFromAccount ( a ) 
    for i, v in pairs ( getElementsByType ( "player" ) ) do 
     
        local acc = getPlayerAccount ( a ) 
        if( acc and getAccountName ( acc ) == a ) then 
            return v 
        end 
     
    end 
    return false 
end 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...