mariadb query: Difference between revisions
From Onset Developer Wiki
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
{{FuncParamOptional|callback_args|Multiple arguments to pass to the callback_func.}} | {{FuncParamOptional|callback_args|Multiple arguments to pass to the callback_func.}} | ||
{{FuncReturnValue| | {{FuncReturnValue|Returns '''true''' if the query was successfully queued.}} | ||
== Example == | == Example == | ||
<syntaxhighlight lang="Lua"> | |||
function cmd_iplookup(player, ip) | |||
if (PlayerData[player].admin < 4) then | |||
return AddPlayerChat(player, "Insufficient permission") | |||
end | |||
if (ip == nil) then | |||
return AddPlayerChat(player, "Usage: /iplookup <ip>") | |||
end | |||
local query = mariadb_prepare(sql, "SELECT DISTINCT(id) FROM log_login WHERE ip = '?';", ip) | |||
mariadb_query(sql, query, OnIpLookup, player, ip) | |||
end | |||
AddCommand("iplookup", cmd_iplookup) | |||
function OnIpLookup(player, ip) | |||
local rows = mariadb_get_row_count() | |||
if (rows == 0) then | |||
AddPlayerChat(player, "No account found for that IP") | |||
else | |||
for i=1, rows do | |||
local id = mariadb_get_value_index_int(i, 1) | |||
AddPlayerChat(player, "Account ID: "..id) | |||
end | |||
end | |||
end | |||
</syntaxhighlight> | |||
{{RelatedFunctions}} | {{RelatedFunctions}} | ||
__EDIT_ME__ | __EDIT_ME__ |
Revision as of 10:44, 27 October 2019
Description
Executes a query in a thread. Execution of order is as called.
Syntax
mariadb_query(handle, query_str [, callback_func, callback_args...])
Parameters
- handle
Connection handle. - query_str
The query to be executed. - callback_func (optional)
The function that will be called when the query was executed. - callback_args (optional)
Multiple arguments to pass to the callback_func.
Return Value
- Returns true if the query was successfully queued.
Example
function cmd_iplookup(player, ip)
if (PlayerData[player].admin < 4) then
return AddPlayerChat(player, "Insufficient permission")
end
if (ip == nil) then
return AddPlayerChat(player, "Usage: /iplookup <ip>")
end
local query = mariadb_prepare(sql, "SELECT DISTINCT(id) FROM log_login WHERE ip = '?';", ip)
mariadb_query(sql, query, OnIpLookup, player, ip)
end
AddCommand("iplookup", cmd_iplookup)
function OnIpLookup(player, ip)
local rows = mariadb_get_row_count()
if (rows == 0) then
AddPlayerChat(player, "No account found for that IP")
else
for i=1, rows do
local id = mariadb_get_value_index_int(i, 1)
AddPlayerChat(player, "Account ID: "..id)
end
end
end
See also
__EDIT_ME__