Ediзгo de nome no MySQL -
pWesley - 27.06.2015
Olб, minha dъvida й a seguinte, eu estou tentando elaborar um cуdigo que consistirб em editar o nome de determinada conta no banco de dados MySQL, logo eu fiz o seguinte cуdigo:
pawn Код:
new tString[66];
format(tString, sizeof(tString), " Seu nome foi alterado. Agora a conta se chamarб: %s", inputtext);
SendClientMessage(playerid, azul, tString);
mysql_format(MySQL_Connected, Query, 100, "UPDATE dmplayers SET name = '%e' WHERE name = '%s'", inputtext, pName[playerid]);
mysql_query(MySQL_Connected, Query, false);
Kick(playerid);
O ъnico problema й que nгo altera, logo quero que esclareзam minha dъvida para que eu possa resolver esse problema. Obrigado pela atenзгo.
Re: Ediзгo de nome no MySQL -
Dolby - 27.06.2015
%e?
Nгo seria
s?
Re: Ediзгo de nome no MySQL -
pWesley - 27.06.2015
Quote:
Originally Posted by Dolby
%e?
Nгo seria s?
|
Poderia, no entanto, quero saber se tem interferкncia na consulta SQL de acordo com a alteraзгo de valor QUANDO procurado o mesmo.
Re: Ediзгo de nome no MySQL -
Gii - 27.06.2015
Quote:
Originally Posted by Dolby
%e?
Nгo seria s?
|
O "e" й usado para previnir SQL Injection.
Aparentemente nгo hб nada de errado, verifique a sintaxe do MySQL.
Tente alterar atravйs da chave primбria.
Re: Ediзгo de nome no MySQL -
IgorLuiz - 27.06.2015
Quote:
Originally Posted by pWesley
Olб, minha dъvida й a seguinte, eu estou tentando elaborar um cуdigo que consistirб em editar o nome de determinada conta no banco de dados MySQL, logo eu fiz o seguinte cуdigo:
pawn Код:
new tString[66]; format(tString, sizeof(tString), " Seu nome foi alterado. Agora a conta se chamarб: %s", inputtext); SendClientMessage(playerid, azul, tString); mysql_format(MySQL_Connected, Query, 100, "UPDATE dmplayers SET name = '%e' WHERE name = '%s'", inputtext, pName[playerid]); mysql_query(MySQL_Connected, Query, false); Kick(playerid);
O ъnico problema й que nгo altera, logo quero que esclareзam minha dъvida para que eu possa resolver esse problema. Obrigado pela atenзгo.
|
me passa um print da tabela onde ta nome do jogador!
Re: Ediзгo de nome no MySQL -
Dolby - 27.06.2015
Quote:
Originally Posted by Gii
O "e" й usado para previnir SQL Injection.
|
Verdade. Acabei confundindo com format convencional.
Re: Ediзгo de nome no MySQL -
zPain - 27.06.2015
Pode ser o problema de usar uma funзгo antes do kick. A query pode nгo estar sendo enviada. Experimente tirar o kick e veja se funciona.
Re: Ediзгo de nome no MySQL -
pWesley - 28.06.2015
Sim, eu adicionei a funзгo pra Kickar o usuбrio, logo o mesmo conseguiu alterar no banco de dados. Atй aн deu certo.
Agora, eu preciso de um pequeno favor: uma verificaзгo SE O NOME QUE ESTБ TENTANDO SER COLOCADO, JБ EXISTE NO BANCO DE DADOS, para criar uma funзгo que impeзa o player de criar conflito em tabelas do banco de dados.
Re: Ediзгo de nome no MySQL -
IgorLuiz - 28.06.2015
Quote:
Originally Posted by pWesley
Sim, eu adicionei a funзгo pra Kickar o usuбrio, logo o mesmo conseguiu alterar no banco de dados. Atй aн deu certo.
Agora, eu preciso de um pequeno favor: uma verificaзгo SE O NOME QUE ESTБ TENTANDO SER COLOCADO, JБ EXISTE NO BANCO DE DADOS, para criar uma funзгo que impeзa o player de criar conflito em tabelas do banco de dados.
|
ae esta o cmd. Agora basta editar conforme seu Game Mode
Код:
CMD:mudarnick(playerid, params[]) {
new NovoNome[24], Msg[144];
if(PlayerInfo[playerid][pDinheiro] < 0) return SendClientMessage(playerid, -1, "{ff0000}Para mudar de nick Г© necessГЎrio R$1000");
if(sscanf(params, "s[20]", NovoNome)) return SendClientMessage(playerid, -1, "{ff0000}Use: /mudarnick [novo nick]");
new Query[256], Cache:MudarNick;
mysql_format(mysql, Query, sizeof(Query), "SELECT name FROM dmplayers WHERE name='%e'", NovoNome);
MudarNick = mysql_query(mysql, Query, true);
if(cache_num_rows(mysql)) return SendClientMessage(playerid, -1, "{ff0000}AlguГ©m jГЎ usa este nick!"), cache_delete(MudarNick, mysql);
cache_delete(MudarNick, mysql);
if(SetPlayerName(playerid, NovoNome) != 1) return SendClientMessage(playerid, -1, "{ff0000}Este nome estГЎ em uso ou Г© invГЎlido!");
SetPlayerName(playerid, NovoNome);
format(Msg, sizeof(Msg), "{ffff00}[Mudar Nick] %s mudou para %s", PlayerInfo[playerid][pNome], NovoNome);
SendClientMessageToAll(-1, Msg);
GivePlayerMoney(playerid, (-1000));
format(PlayerInfo[playerid][pNome], 24, NovoNome);
SalvarConta(playerid);
return 1;
}
code by: NicK