mariadb query: Difference between revisions

From Onset Developer Wiki
(Created page with "{{Info|Function|Server|1.0}} {{Notice|This function is provided by the official MariaDB plugin.}} {{FuncDescription|__EDIT_ME__}} {{FuncSyntax|mariadb_query()}} {{FuncP...")
 
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 2: Line 2:
{{Notice|This function is provided by the official [[MariaDB]] plugin.}}
{{Notice|This function is provided by the official [[MariaDB]] plugin.}}


{{FuncDescription|__EDIT_ME__}}
{{FuncDescription|Executes a query in a thread. Execution of order is as called.}}


{{FuncSyntax|mariadb_query()}}
{{FuncSyntax|mariadb_query(handle, query_str [, callback_func, callback_args...])}}


{{FuncParameters}}
{{FuncParameters}}
{{FuncNoParam}}
{{FuncParam|handle|Connection handle.}}
{{FuncParam|query_str |The query to be executed.}}
{{FuncParamOptional|callback_func|The function that will be called when the query was executed.}}
{{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__
{{Template:MariaDBFunctions}}

Latest revision as of 16:20, 24 November 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