Portal SAMP
[Ajuda] Como posso salvar variáveis de servidor 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] Como posso salvar variáveis de servidor no MySQL? (/showthread.php?tid=3419)



Como posso salvar variáveis de servidor no MySQL? - aboutblank - 13/03/2023

Como posso salvar variáveis de servidor no MySQL?

Eu tenho variáveis de jogador, mas quero que os jogadores possam armazenar drogas em uma casa no servidor e armazená-las em uma variável no banco de dados


RE: Como posso salvar variáveis de servidor no MySQL? - pushline - 14/03/2023

o '%e' é pra string não escapar. não sei explicar direito mas é boa prática de SQL.
https://github.com/pBlueG/SA-MP-MySQL/tree/master/example_scripts
nesse link acima tem mais exemplos.

Código PHP:
enum e_Player{
    
nickname[MAX_PLAYER_NAME 1],
    
kills,
    
adminlevel,
    
SQL_ID
};

new 
PlayerData[MAX_PLAYERS][e_Player];

new 
MySQL:dbHandle;

SavePlayerData(playerid)
{
    new 
querySave[1024], Cache:query;
    
    
mysql_format(dbHandlequerySavesizeof querySave"UPDATE `contas` SET\
        `nickname` = '%e',\
        `kills` = '%d',\
        'adminlevel' = '%d'\
        WHERE `id`= '%d'"
,
        
PlayerData[playerid][nickname],
        
PlayerData[playerid][kills],
        
PlayerData[playerid][adminlevel],
        
PlayerData[playerid][SQL_ID]); // player que acabou de se registrar já terá o sql id preenchido, o que já se registrou terá de ser adicionado.

    
query mysql_query(dbHandlequerySave);
    
cache_delete(query);

}

public 
OnPlayerDisconnect(playeridreason)
{
    
SavePlayerData(playerid);

    
// ...
}

forward InsertDataSQL(playerid);
public 
InsertDataSQL(playerid)
{
    
// isso é apenas no registro.
    // você pode pegar os dados do usuário quando ele logar usando SELECT = name
    // com ele voltando os dados, você pode setar o SQL_ID com o ID que voltou da query
    
    // new id;
    // cache_get_value_int(0, "id", id);
    // PlayerData[playerid][SQL_ID] = id;

    PlayerData[playerid][SQL_ID] = cache_insert_id();