Portal SAMP
[Ajuda] Verificar se o nome é existente no MySQL - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Verificar se o nome é existente no MySQL (/showthread.php?tid=2445)



Verificar se o nome é existente no MySQL - MatheuzPatoo - 03/06/2022

Procurei uma forma de verificar se um nome existe no banco de dados, porém não estou achando, alguem poderia ajudar?
Eu quero usar a função da seguinte maneira:
Código PHP:
        if(funçao que seria a de verificar se o player existe no banco de dados)
        {
            mysql_format(ConexaoSQLQuerysizeof(Query), "UPDATE `jogadores` SET \
            `pCargoOrg`='0', \
            `pOrgID`='0' WHERE `pNome`='%s'"
,
            pGoCommand);
            mysql_query(ConexaoSQLQuery);
        } else Mensagem q n existe o player 



RE: Verificar se o nome é existente no MySQL - xbruno1000x - 03/06/2022

Acho que não dá pra saber se existe algo no banco de dados sem realizar o QUERY.


RE: Verificar se o nome é existente no MySQL - MatheuzPatoo - 03/06/2022

(03/06/2022 21:36)xbruno1000x Escreveu: Acho que não dá pra saber se existe algo no banco de dados sem realizar o QUERY.

Entao qual seria a melhor forma de expulsar alguem de uma org msm que a pessoa esteja offline? e claro com o uso de MySQL.



RE: Verificar se o nome é existente no MySQL - xbruno1000x - 03/06/2022

Não sei bem como funciona o MySQL no SA-MP então não irei arriscar falar algo sem serventia. Sugiro que procure GM's em MySQL e veja como foi feito por lá.

GM exemplo disponibilizado no site do Open-MP:
https://raw.githubusercontent.com/seanny/SC-RP/master/gamemodes/roleplay.pwn

Caso não consiga por conta própria, sugiro que aguarde por alguém com mais experiência para respondê-lo.


RE: Verificar se o nome é existente no MySQL - MatheuzPatoo - 03/06/2022

Não achei nada muito relevante, essa GM não faz isso, de mexer dentro dos dados de algum player, ela simplesmente seta os valores a 0, precisando do player esta online para isso, talvez vou ter q apelar para uma log de membros, voce tem alguma ideia de como posso fazer isso com uma log?

mais uma pergunta, tem como eu usar 2 tipos de salvamento em uma GM?


RE: Verificar se o nome é existente no MySQL - xbruno1000x - 04/06/2022

(03/06/2022 22:41)MatheuzPatoo Escreveu: Não achei nada muito relevante, essa GM não faz isso, de mexer dentro dos dados de algum player, ela simplesmente seta os valores a 0, precisando do player esta online para isso, talvez vou ter q apelar para uma log de membros, voce tem alguma ideia de como posso fazer isso com uma log?

mais uma pergunta, tem como eu usar 2 tipos de salvamento em uma GM?

É possível sim, você pode usar DOF2 e MySQL, ou outra combinação.

Sobre o banco de dados:
Acredito que possa dar certo você possa inserir esses valores sem a IF, pois o MySQL lê primeiramente a cláusula WHERE. Logo, ele mesmo irá ver se a conta existe ou não. Só não tenho 100% de certeza pois não sei se os bancos de dados pelo Xamp/Wamp funcionam da mesma forma que no SA-MP. Procura na documentação dessa include se há alguma callback chamada após o erro ou o sucesso e faz um debug por lá.


RE: Verificar se o nome é existente no MySQL - CoelhaO_LokaO - 04/06/2022

Código:
// premeiro voce pega o nome do player ou seja um inputtext com o nome do jogador digitado ou algo armazenado a string

// apos isso voce executa a query

mysql_format(ConexaoSQL, Query, sizeof(Query), "SELECT * FROM `jogadores` WHERE pNome = '%s'",inputtext);//seleciona da tabela jogador o pNome que é igual ao inputtext
mysql_query(ConexaoSQL, Query);
new rows = cache_num_rows();


//apos isso vc retorna

if(rows == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Nenhum jogador encontrado no banco de dados da query");// caso ele nao ache retorna a msg
//apos isso caso ele retorne mais de 1 ele execulta a segunda query fazendo o update


mysql_format(ConexaoSQL, Query, sizeof(Query), "UPDATE `jogadores` SET \
            `pCargoOrg`='0', \
            `pOrgID`='0' WHERE `pNome`='%s'",
            inputtext);
            mysql_query(ConexaoSQL, Query);


[Imagem: cNg09O5.png]