[Ajuda] Problema carregar ID faction recem criada MYSQL
#10

Primeiramente, utilize a versгo mais atualizada do MySQL. Vocк terб que readaptar todo seu cуdigo, mas terб um sistema muito mais rбpido, estбvel e mais funcional.

https://github.com/pBlueG/SA-MP-MySQL/releases

Essa versгo do MySQL trabalha com cache, leia este tutorial:

https://sampforum.blast.hk/showthread.php?tid=337810

E agora para resolver seu problema, a soluзгo й simples.
Faзa a consulta de inserзгo, e entгo na callback de resposta do MySQL, pegue o ID ъnico da ъltima linha inserida. Este serб o ID da facзгo:

pawn Код:
CMD:criarfacao(playerid,params[])
{
    // Seu comando de criar facзгo bla bla bla
   
    format(query,sizeof query,"INSERT INTO factions (facname) VALUES ('%s');",localfname);
    mysql_function_query(mysqlhandle,query,true,"r@MySQL_CreateFaction","d",playerid) // importante deixar o cache como TRUE.

    return 1;
}

// Declarar a callback de resposta (topo do GM)
forward r@MySQL_CreateFaction(playerid); // Playerid й quem criou a facзгo.

public r@MySQL_CreateFaction(playerid)
{
    // A partir daqui, o MySQL pode retornar um erro (caso algo tenha dado errado)
    // Ou o ID da facзгo criada, que pode ser acessado pela funзгo mysql_insert_id();
   
    Player[playerid][faccao] = mysql_insert_id();
   
    SendClientMessage(playerid,-1,"Sua facзгo foi criada com sucesso!");
   
    // outras coisas bla bla bla

    return 1;
}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 3 Guest(s)