MySQL query -
Electrifying - 07.10.2018
Pessoal ainda estou aprendendo MySQL e tenho uma dъvida, como eu armazeno o dado de uma coluna numa variбvel para usa-la sem ter que criar callback? Estou criando um sistema de ban temporбrio e fiz assim
Primeiro й checado em Onplayerconnect se o nome do jogador estб numa tabela, usei mysql_tquery com uma callback que verifica se o jogador tб lб utilizando mysql_num_rows
mas e aн?
Код:
forward IsTempBanned(playerid);
public IsTempBanned(playerid)
{
if(cache_num_rows() > 0)
{
new hourbanned[2], Cache:hoursql;
new gName[24]; GetPlayerName(playerid, gName, 24);
mysql_format(MySQL:banidos, str, sizeof(str), "SELECT `Horas` FROM `tempban` WHERE `NOME` = '%s'", gName);
Cache:hoursql = mysql_query(MySQL:banidos, str, true);
cache_set_active(Cache:hoursql);
cache_get_value(0, "Horas", hourbanned[0]);
cache_get_value(0, "Segundos", hourbanned[1]);
if( (HourTimeStamp - hourbanned[0]) < hourbanned[1])
{
new str2[128];
format(str2, sizeof(str2), "[X]: Vocк ainda estб banido do servidor por: %i Horas.", hourbanned[0]);
SendClientMessage(playerid, Vermelho, str2);
Kick(playerid);
cache_delete(Cache:hoursql);
}
}
}
Preciso pegar o horбrio do jogador banido e verificar com um timer no servidor que conta de 1 em 1 hora, tб correto dessa maneira?
Re: MySQL query -
GSantana - 07.10.2018
PHP код:
mysql_tquery(conexao, string);
Re: MySQL query -
GSantana - 07.10.2018
use como base:
PHP код:
new String[80], aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(String, sizeof(String), "UPDATE `contas` SET ban = %d WHERE name = '%s'",ban[playerid], aname);
mysql_tquery(Conexao, String);
//para verificar
format(String, sizeof(String), "SELECT `contas` FROM `ban` WHERE `name` = '%s'", aname);
mysql_tquery(Conexao, String);
cache_get_value_name_int(0, "ban", ban[playerid]);
if(ban[playerid] != 0)
{
//funзгo caso ele esteja banido
}
Re: MySQL query -
Electrifying - 07.10.2018
Quote:
Originally Posted by GSantana
use como base:
PHP код:
new String[80], aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(String, sizeof(String), "UPDATE `contas` SET ban = %d WHERE name = '%s'",ban[playerid], aname);
mysql_tquery(Conexao, String);
//para verificar
format(String, sizeof(String), "SELECT `contas` FROM `ban` WHERE `name` = '%s'", aname);
mysql_tquery(Conexao, String);
cache_get_value_name_int(0, "ban", ban[playerid]);
if(ban[playerid] != 0)
{
//funзгo caso ele esteja banido
}
|
mysql_tquery por que? tenho que criar outra callback? nгo dб pra fazer tudo numa sу?
Re: MySQL query -
GSantana - 07.10.2018
Quote:
Originally Posted by Electrifying
mysql_tquery por que? tenho que criar outra callback? nгo dб pra fazer tudo numa sу?
|
nгo precisa criar outra calback!, seu mysql estб atualizado para a versгo R41-4 ?, й sу nгo usar o parвmetro da callback que nгo precisa!
Re: MySQL query -
Electrifying - 07.10.2018
Quote:
Originally Posted by GSantana
nгo precisa criar outra calback!, seu mysql estб atualizado para a versгo R41-4 ?, й sу nгo usar o parвmetro da callback que nгo precisa!
|
Sim estб, entгo se eu utilizar cache_get_value em uma variбvel vai automaticamente armazenar o dado de uma row na variбvel depois da tquery?
Re: MySQL query -
GSantana - 07.10.2018
Quote:
Originally Posted by Electrifying
Sim estб, entгo se eu utilizar cache_get_value em uma variбvel vai automaticamente armazenar o dado de uma row na variбvel depois da tquery?
|
sim, mas tem que ter selecionado a conta como no exemplo:
PHP код:
format(String, sizeof(String), "SELECT `contas` FROM `name` = '%s' ", aname);
mysql_tquery(Conexao, String);
no fуrum nгo tem bons tutoriais sobre mysql, acha que eu deveria fazer um ?
Re: MySQL query -
Malandrin - 08.10.2018
Mano, na WIKI Samp jб explica praticamente todas as funзхes do MySQL, claro nгo й a versгo mais recente mas jб serve. E graзas a esses Sistemas de Registros que vocкs tanto reclamam que foi o que me fez entender MySQL, sу nгo aprende quem nгo quer.