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|__EDIT_ME__}}
{{FuncReturnValue|Returns '''true''' if the query was successfully queued.}}


== Example ==
== Example ==
__EDIT_ME__
<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

mariadb query

Type: Function
Context: Server
Introduced: v1.0

NOTICE

This function is provided by the official MariaDB plugin.

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__