.:HyPeX:. Posted May 20, 2014 Share Posted May 20, 2014 Well, i get error: trying to concatenate field (?) a nil value. This happens on the dbQuery "SELECT * FROM "..loadUpTable[1] line. local loadUpTable = {} function LoadUpOnResourceStart(resource) if resource ~= getThisResource() then return end local dbqery = dbQuery(Database, "SELECT name FROM sqlite_master WHERE type='table'") local tables = dbPoll(dbqery, -1) outputChatBox("#6969C9*AS: Restoring "..#tables.." records from sqlite.", root, 255,255,255,true) for i=1,#tables do loadUpTable[i] = tables[i] end for i,v in ipairs(loadUpTable) do local Query = dbQuery(Database, "SELECT * FROM "..loadUpTable[i][1]) local result = dbPoll(Query, -1) Punished[ loadUpTable[i] ] = {} Punished[ loadUpTable[i] ][1] = result.Punishes[1] Punished[ loadUpTable[i] ][2] = result.Serial[1] Punished[ loadUpTable[i] ][3] = result.StartTime[1] Punished[ loadUpTable[i] ][4] = result.EndTime[1] Punished[ loadUpTable[i] ][5] = result.Duration[1] Punished[ loadUpTable[i] ][6] = result.PlayerName[1] Punished[ loadUpTable[i] ][7] = result.ResponsibleName[1] Punished[ loadUpTable[i] ][8] = result.Reason[1] end end addEventHandler("onResourceStart", resourceRoot, LoadUpOnResourceStart) Link to comment
tosfera Posted May 20, 2014 Share Posted May 20, 2014 Since your table from mysql doesn't have an numeric index, you can't use a numeric index. You have to use strings. Link to comment
.:HyPeX:. Posted May 20, 2014 Author Share Posted May 20, 2014 Yes, i didnt managed to want to edit the topic, i was fixing it on my side, i found a problem now, the length of table is returning 0.. and i dont know why. local loadUpTable = {} function LoadUpOnResourceStart(resource) if resource ~= getThisResource() then return end local dbqery = dbQuery(Database, "SELECT name FROM sqlite_master WHERE type='table'") local tables = dbPoll(dbqery, -1) outputChatBox("#6969C9*AS: Restoring "..#tables.." records from sqlite.", root, 255,255,255,true) local start = 0 for i,v in ipairs(tables) do start = start+1 for column, value in pairs(v) do loadUpTable[start] = value end end for i,v in ipairs(loadUpTable) do local Query = dbQuery(Database, "SELECT * FROM "..loadUpTable[i]) local result = dbPoll(Query, -1) outputChatBox(#result) for i,v in pairs(result) do outputChatBox(v) for col,val in ipairs(v) do outputChatBox(val) end end end end addEventHandler("onResourceStart", resourceRoot, LoadUpOnResourceStart) Link to comment
.:HyPeX:. Posted May 21, 2014 Author Share Posted May 21, 2014 Bump, anyone knows whats going on? Link to comment
Castillo Posted May 22, 2014 Share Posted May 22, 2014 I don't understand why are you doing all this: local start = 0 for i,v in ipairs(tables) do start = start+1 for column, value in pairs(v) do loadUpTable[start] = value end end It doesn't really make any sense to me, try my code above. local loadUpTable = { } function LoadUpOnResourceStart ( resource ) local dbqery = dbQuery ( Database, "SELECT name FROM sqlite_master WHERE type='table'" ) local tables = dbPoll ( dbqery, -1 ) outputChatBox ( "#6969C9*AS: Restoring ".. #tables .." records from sqlite.", root, 255, 255, 255, true ) for index, tbl in ipairs ( tables ) do loadUpTable [ index ] = tbl.name end for _, v in ipairs ( loadUpTable ) do local Query = dbQuery ( Database, "SELECT * FROM ".. v ) local result = dbPoll ( Query, -1 ) outputChatBox ( #result ) for i, v in pairs ( result ) do outputChatBox ( v ) for col, val in ipairs ( v ) do outputChatBox ( val ) end end end end addEventHandler ( "onResourceStart", resourceRoot, LoadUpOnResourceStart ) Link to comment
.:HyPeX:. Posted May 23, 2014 Author Share Posted May 23, 2014 Thanks!, i'll try it soon. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now