Justus

MySQL functions

Jan 8th, 2012
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.29 KB | None | 0 0
  1. --[[
  2. *************************************************
  3. * Developer: Jusonex
  4. * Date: 08.01.2012
  5. *************************************************
  6. --]]
  7. _dbPoll = dbPoll
  8. function dbPoll(connection, timeout)
  9.     local result, numrows, errormsg = _dbPoll(connection, timeout)
  10.     if result == nil then
  11.         outputConsole( "dbPoll result not ready yet" )
  12.         return
  13.     end
  14.     if result == false then
  15.         outputConsole( "dbPoll failed. Error code: "..tostring(numrows).." Error message: "..tostring(errmsg))
  16.         return
  17.     end
  18.     return result, numrows
  19. end
  20.  
  21. function mysql_query(...)
  22.     return dbQuery(...)
  23. end
  24.  
  25. function mysql_num_rows(result)
  26.     assert(result, "Bad argument @ mysql_num_rows")
  27.     local _, numrows = dbPoll(result, -1)
  28.     return numrows
  29. end
  30.  
  31. local results = {}
  32. function mysql_fetch_assoc(handle)
  33.     assert(handle, "Bad argument @ mysql_fetch_assoc")
  34.     if not results[handle] then
  35.         results[handle] = 0
  36.     end
  37.     results[handle] = results[handle] + 1
  38.     return dbPoll(handle, -1)[results[handle]]
  39. end
  40.  
  41. local function convertToIntegerTable(t)
  42.     assert(t, "Bad argument @ convertToIntegerTable")
  43.     local tempTable = {}
  44.     for row, res in ipairs(t) do
  45.         tempTable[row] = {}
  46.         for _, value in pairs(res) do
  47.             table.insert(tempTable[row], value)
  48.         end
  49.     end
  50.     return tempTable
  51. end
  52.  
  53. function mysql_fetch_row(result)
  54.     assert(result, "Bad argument @ mysql_fetch_row")
  55.     if not results[result] then
  56.         results[result] = 0
  57.     end
  58.     intResult = convertToIntegerTable(dbPoll(result, -1))
  59.     results[result] = results[result] + 1
  60.     return intResult[results[result]]
  61. end
  62.  
  63. function mysql_rows_assoc(result)
  64.     assert(result, "Bad argument @ mysql_rows_assoc")
  65.     return ipairs(dbPoll(result, -1))
  66. end
  67.  
  68. function mysql_rows(result)
  69.     assert(result, "Bad argument @ mysql_rows")
  70.     return ipairs(convertToIntegerTable(dbPoll(result, -1)))
  71. end
  72.  
  73. function mysql_free_result(result)
  74.     assert(result, "Bad argument @ mysql_free_result")
  75.     results[result] = nil
  76.     --notice: http://wiki.multitheftauto.com/wiki/DbFree
  77.     return dbFree(result)
  78. end
  79.  
  80. function mysql_escape_string(_, str)
  81.     return str --automatically by dbQuery
  82. end
  83.  
  84. function mysql_ping()
  85.     return true
  86. end
  87.  
  88. function mysql_insert_id(connection)
  89.     assert(connection, "Bad argument @ mysql_insert_id")
  90.     return dbPoll(dbQuery(connection, "SELECT LAST_INSERT_ID()"), -1)[1][1]
  91. end
Advertisement
Add Comment
Please, Sign In to add comment