mariadb get row count: 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_get_row_count()}}..."
 
No edit summary
 
(One intermediate revision 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|Returns the row count of the query result.}}


{{FuncSyntax|mariadb_get_row_count()}}
{{FuncSyntax|mariadb_get_row_count()}}
Line 9: Line 9:
{{FuncNoParam}}
{{FuncNoParam}}


{{FuncReturnValue|__EDIT_ME__}}
{{FuncReturnValue|Returns the number of row count.}}


== Example ==
== Example ==
__EDIT_ME__
Example taken from: https://github.com/BlueMountainsIO/OnsetLuaScripts/blob/master/horizon/server/accounts.lua
<syntaxhighlight lang="Lua">
function CheckForIPBan(player)
local query = mariadb_prepare(sql, "SELECT ipbans.reason, accounts.steam_name FROM ipbans LEFT JOIN accounts ON ipbans.admin_id = accounts.id WHERE ipbans.ip = '?' LIMIT 1;",
GetPlayerIP(player))
 
mariadb_async_query(sql, query, OnAccountCheckIpBan, player)
end
 
 
function OnAccountCheckIpBan(player)
if (mariadb_get_row_count() == 0) then
--No IP ban found for this account
if (PlayerData[player].accountid == 0) then
CreatePlayerAccount(player)
else
LoadPlayerAccount(player)
end
else
print("Kicking "..GetPlayerName(player).." because their IP was banned")
 
local result = mariadb_get_assoc(1)
 
if (result['steam_name'] == nil) then
KickPlayer(player, "🚨 You have been banned from the server.")
else
KickPlayer(player, "🚨 You have been banned from the server by "..result['steam_name']..".")
end
end
end
</syntaxhighlight>


{{RelatedFunctions}}
{{RelatedFunctions}}
__EDIT_ME__
{{Template:MariaDBFunctions}}

Latest revision as of 09:08, 2 September 2020

mariadb get row count

Type: Function
Context: Server
Introduced: v1.0

NOTICE

This function is provided by the official MariaDB plugin.

Description

Returns the row count of the query result.

Syntax

mariadb_get_row_count()

Parameters

  • This function has no parameters.

Return Value

  • Returns the number of row count.

Example

Example taken from: https://github.com/BlueMountainsIO/OnsetLuaScripts/blob/master/horizon/server/accounts.lua

function CheckForIPBan(player)
	local query = mariadb_prepare(sql, "SELECT ipbans.reason, accounts.steam_name FROM ipbans LEFT JOIN accounts ON ipbans.admin_id = accounts.id WHERE ipbans.ip = '?' LIMIT 1;",
		GetPlayerIP(player))

	mariadb_async_query(sql, query, OnAccountCheckIpBan, player)
end


function OnAccountCheckIpBan(player)
	if (mariadb_get_row_count() == 0) then
		--No IP ban found for this account
		if (PlayerData[player].accountid == 0) then
			CreatePlayerAccount(player)
		else
			LoadPlayerAccount(player)
		end
	else
		print("Kicking "..GetPlayerName(player).." because their IP was banned")

		local result = mariadb_get_assoc(1)

		if (result['steam_name'] == nil) then
			KickPlayer(player, "🚨 You have been banned from the server.")
		else
			KickPlayer(player, "🚨 You have been banned from the server by "..result['steam_name']..".")
		end
	end
end

See also