mariadb get row count: Difference between revisions

From Onset Developer Wiki
28days (talk | contribs)
No edit summary
No edit summary
 
Line 12: Line 12:


== 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}}
{{Template:MariaDBFunctions}}
{{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