14/03/2023 08:40
(Esta mensagem foi modificada pela última vez a: 14/03/2023 08:41 por pushline.)
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/tr...le_scripts
nesse link acima tem mais exemplos.
https://github.com/pBlueG/SA-MP-MySQL/tr...le_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(dbHandle, querySave, sizeof 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(dbHandle, querySave);
cache_delete(query);
}
public OnPlayerDisconnect(playerid, reason)
{
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();
}