• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[TFS 1.2] function queryToTable(id, values)

Infernum

Senator
Joined
Feb 14, 2015
Messages
5,643
Solutions
559
Reaction score
3,948
Code:
local dataTypes = {
    number = result.getNumber,
    string = result.getString,
    stream = result.getStream
}

function queryToTable(id, values)
    local ret = {}
    if not id then
        return ret
    end
    repeat
        local t = {}
        for i = 1, #values do
            local column, dataType = values[i]:match('(%a+):(%a+)')
            t[column] = dataTypes[dataType](id, column)
        end
        table.insert(ret, t)
    until not result.next(id)
    return ret
end

figured this code might be quite useful for when you want to iterate through queries
created for this

arguments:
id = result id from query
values = should be a table argument with strings for values you want to catch from each row

example usage:
Code:
local resultId = db.storeQuery("SELECT * FROM `player_items` WHERE `player_id` = ".. guid)
local results = queryToTable(resultId, {'pid:number', 'sid:number', 'itemtype:number', 'count:number'})
for i = 1, #results do
    for k, v in pairs(results[i]) do
        print(k, v)
    end
end
 
Last edited:
Back
Top