SA-MP Forums Archive
[Ajuda] o que tem de errado com o codigo ? [SQLITE] - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] o que tem de errado com o codigo ? [SQLITE] (/showthread.php?tid=622460)



o que tem de errado com o codigo ? [SQLITE] - iSoaD - 22.11.2016

galera, criei um sistema de mudar o nick do jogador porem estб com problema quando mudo o nick do jogador ele sai e o nick nгo muda


codigo

PHP код:
CMD:changename(playeridparams[])
{
     new 
targetid,name[128], query[256];
     if(
pInfo[playerid][pAdminLevel] >= 5)
     {
          if(
sscanf(params"us"targetidname)) return  SendClientMessage(playerid,-1,""chat" /changename [playerid] [new name]");
          else if(!
IsPlayerConnected(targetid))SendClientMessage(playerid,COLOR_RED,"Error: Player is not connected!");else
        {
//              new string[128],
            
new n[MAX_PLAYER_NAME];
              
GetPlayerName(targetid,n,sizeof(n));
              
SetPlayerName(targetid,name);
            
format(querysizeof(query), "UPDATE `users` SET `name` = '%s' WHERE `name` = %s"namen);
            
SetPlayerName(targetidname);
            
SendClientMessage(targetidCOLOR_RED,"You name has been changed. please re-loggin now.");
            new 
DBResult:dbrResult db_query(g_dbKeptAlivequery);
            
db_free_result(dbrResult);
         }
    }
     return 
1;




Re: o que tem de errado com o codigo ? [SQLITE] - F1N4L - 22.11.2016

@edit

Vocк tб armazenando o valor de um update? Este valor deve ser armazenado numa seleзгo e nгo em uma atualizaзгo.

Remova o Resultado da pesquisa, pois nгo vai retornar um valor correto, pois como eu disse, vc nгo tб efetuando uma seleзгo na base de dados.


Re: o que tem de errado com o codigo ? [SQLITE] - iSoaD - 22.11.2016

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
@edit

Vocк tб armazenando o valor de um update? Este valor deve ser armazenado numa seleзгo e nгo em uma atualizaзгo.

Remova o Resultado da pesquisa, pois nгo vai retornar um valor correto, pois como eu disse, vc nгo tб efetuando uma seleзгo na base de dados.
Nгo entendi muito bem nгo...

@edit
pera tipo isso ?

format(query, sizeof(query), "SELECT `users` SET `name` = '%s' WHERE `name` = %s", name, n);


Re: o que tem de errado com o codigo ? [SQLITE] - F1N4L - 22.11.2016

Quote:
Originally Posted by iSoaD
Посмотреть сообщение
Nгo entendi muito bem nгo...

@edit
pera tipo isso ?

format(query, sizeof(query), "SELECT `users` SET `name` = '%s' WHERE `name` = %s", name, n);
Nгo, nгo...

Isso:
Код:
format(query, sizeof(query), "UPDATE `users` SET `name` = '%s' WHERE `name` = %s", name, n); 
new DBResult:dbrResult = db_query(g_dbKeptAlive, query); 
db_free_result(dbrResult); 
Use o resultado para armazenar o valor final da consulta do comando select.

Assim deve bastar!
Код:
format(query, sizeof(query), "UPDATE `users` SET `name` = '%s' WHERE `name` = %s", name, n);
 db_query(g_dbKeptAlive, query);



Re: o que tem de errado com o codigo ? [SQLITE] - iSoaD - 22.11.2016

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Nгo, nгo...

Isso:
Код:
format(query, sizeof(query), "UPDATE `users` SET `name` = '%s' WHERE `name` = %s", name, n); 
new DBResult:dbrResult = db_query(g_dbKeptAlive, query); 
db_free_result(dbrResult); 
Use o resultado para armazenar o valor final da consulta do comando select.

Assim deve bastar!
Код:
format(query, sizeof(query), "UPDATE `users` SET `name` = '%s' WHERE `name` = %s", name, n);
 db_query(g_dbKeptAlive, query);
fiz assim porem o usuario continua com o mesmo nick se tentar entrar com a conta do nick trocado ela dб que nгo estб registrado e o jogador fica com o mesmo nick registrado


Re: o que tem de errado com o codigo ? [SQLITE] - MultiKill - 22.11.2016

Esqueceu de colocar o ъltimo %s entre duas aspas simples:
Код:
format(query, sizeof(query), "UPDATE `users` SET `name` = '%s' WHERE `name` = '%s'", name, n);



Re: o que tem de errado com o codigo ? [SQLITE] - iSoaD - 22.11.2016

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Esqueceu de colocar o ъltimo %s entre duas aspas simples:
Код:
format(query, sizeof(query), "UPDATE `users` SET `name` = '%s' WHERE `name` = '%s'", name, n);
deu no mesmo

olha como fica no sqlite




Re: o que tem de errado com o codigo ? [SQLITE] - [BOPE]Seu._.Madruga - 22.11.2016

PHP код:
CMD:changename(playeridparams[])
{
    new 
targetidnewname[24], query[256];
    if(
pInfo[playerid][pAdminLevel] >= 5) {
        if(
sscanf(params"ds[24]"targetidnewname)) return SendClientMessage(playerid,-1,""chat" /changename [playerid] [new name]");
        if(!
IsPlayerConnected(targetid)) return SendClientMessage(playerid,COLOR_RED,"Error: Player is not connected!");
        new 
n[MAX_PLAYER_NAME];
        
GetPlayerName(targetidnsizeof(n));
        
SetPlayerName(targetidnewname);
        
SendClientMessage(targetidCOLOR_RED,"You name has been changed. please re-loggin now.");
        new 
DBResult:dbrResult db_query(g_dbKeptAlivequery);
        
format(szQuerysizeof(szQuery), "UPDATE `users` SET `name` = '%s' WHERE `name` = '%s'"DB_Escape(newname), n);
        
db_free_result(dbrResult);
    }
    return 
1;




Re: o que tem de errado com o codigo ? [SQLITE] - iSoaD - 23.11.2016

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
PHP код:
CMD:changename(playeridparams[])
{
    new 
targetidnewname[24], query[256];
    if(
pInfo[playerid][pAdminLevel] >= 5) {
        if(
sscanf(params"ds[24]"targetidnewname)) return SendClientMessage(playerid,-1,""chat" /changename [playerid] [new name]");
        if(!
IsPlayerConnected(targetid)) return SendClientMessage(playerid,COLOR_RED,"Error: Player is not connected!");
        new 
n[MAX_PLAYER_NAME];
        
GetPlayerName(targetidnsizeof(n));
        
SetPlayerName(targetidnewname);
        
SendClientMessage(targetidCOLOR_RED,"You name has been changed. please re-loggin now.");
        new 
DBResult:dbrResult db_query(g_dbKeptAlivequery);
        
format(szQuerysizeof(szQuery), "UPDATE `users` SET `name` = '%s' WHERE `name` = '%s'"DB_Escape(newname), n);
        
db_free_result(dbrResult);
    }
    return 
1;

nem foi.. desisto :\


Re: o que tem de errado com o codigo ? [SQLITE] - F1N4L - 23.11.2016

Quote:
Originally Posted by iSoaD
Посмотреть сообщение
nem foi.. desisto :\
O cara inverteu a execuзгo do update!!!
Код:
CMD:changename(playerid, params[]) 
{ 
    new targetid, newname[24], query[256]; 
    if(pInfo[playerid][pAdminLevel] >= 5) { 
        if(sscanf(params, "ds[24]", targetid, newname)) return SendClientMessage(playerid,-1,""chat" /changename [playerid] [new name]"); 
        if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,COLOR_RED,"Error: Player is not connected!"); 
        new n[MAX_PLAYER_NAME]; 
        GetPlayerName(targetid, n, sizeof(n)); 
        SetPlayerName(targetid, newname); 
        SendClientMessage(targetid, COLOR_RED,"You name has been changed. please re-loggin now."); 
        format(szQuery, sizeof(szQuery), "UPDATE `users` SET `name` = '%s' WHERE `name` = '%s'", DB_Escape(newname), n); 
        db_query(g_dbKeptAlive, query); 
    } 
    return 1; 
}