Portal SAMP
[Ajuda] Salvamento SQL - 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] Salvamento SQL (/showthread.php?tid=4899)



Salvamento SQL - Nogueira - 16/10/2024

Ola, estou com alguns problemas no salvamento de genero do player, o genero feminino sera pra setar 0  e o masculino 1, mais la no banco de dados so fica zero, 

QUANDO REGISTRA:
Código:
format(query,sizeof(query),"INSERT INTO `Player`(`Nome`,`Senha`,`Dinheiro`,`Skin`,`Genero`) VALUES('%s','%s','800','%d','%d')",PlayerName(playerid), inputtext, Player[playerid][Dinheiro], Player[playerid][Skin], Player[playerid][Genero]);
db_query(DBConn, query);

DIALOG:
Código:
                    case 1:
                    {
                        Player[playerid][Genero] = 0; //feminino
                        Player[playerid][Skin] = 23;
                        SetSpawnInfo(playerid, 0, Player[playerid][Skin], 1684.5736,-2328.2075,13.5469,3.7814, 0, 0, 0, 0, 0, 0);
                        SpawnPlayer(playerid);
                        GivePlayerMoney(playerid, 800);
                    }
                    case 2:
                    {
                        Player[playerid][Genero] = 1; //masculino
                        Player[playerid][Skin] = 233;
                        SetSpawnInfo(playerid, 0, Player[playerid][Skin], 1684.5736,-2328.2075,13.5469,3.7814, 0, 0, 0, 0, 0, 0);
                        SpawnPlayer(playerid);
                        GivePlayerMoney(playerid, 800);
                    }

TABELA:
Código:
`Genero` INTEGER,

CARREGAR:
Código:
Player[playerid][Genero] = db_get_field_assoc_int(Resultado,"Genero");

SALVAR:
Código:
    format(Query,sizeof(Query), "UPDATE Player SET Genero = %d,WHERE Nome = '%q';",\
    Player[playerid][Genero];



RE: Salvamento SQL - BitSain - 17/10/2024

O problema está na vírgula extra antes do WHERE na sua query. Segue a correção:
Código:
format(Query, sizeof(Query), "UPDATE Player SET Genero = %d WHERE Nome = '%q';", Player[playerid][Genero], PlayerName(playerid));
Removi a vírgula que estava causando erro de sintaxe.
Agora a query deve funcionar corretamente.


RE: Salvamento SQL - Nogueira - 18/10/2024

(17/10/2024 09:51)BitSain Escreveu: O problema está na vírgula extra antes do WHERE na sua query. Segue a correção:
Código:
format(Query, sizeof(Query), "UPDATE Player SET Genero = %d WHERE Nome = '%q';", Player[playerid][Genero], PlayerName(playerid));
Removi a vírgula que estava causando erro de sintaxe.
Agora a query deve funcionar corretamente.

Ola, eu nao tinha mandato a linha toda, foi um error meu, a linha toda esta abaixo e nao possui nenhuma virgula antes do WHERE
Código:
    format(Query,sizeof(Query), "UPDATE Player SET Admin = %d,Genero = %d,Dinheiro = %d,Level = %d,Skin = %d,IDF = %d,Interior = %d,VirtualW = %d,Vida = '%f',Colete = '%f',PosX = '%f',PosY = '%f',PosZ = '%f',PosR = '%f' WHERE Nome = '%q';",\
    Player[playerid][Admin],\
    Player[playerid][Genero],\
    Player[playerid][Dinheiro],\
    Player[playerid][pNivel],\
    Player[playerid][Skin],\
    Player[playerid][IDF],\
    Player[playerid][Interior],\
    Player[playerid][VirtualW],\
    Player[playerid][Vida],\
    Player[playerid][Colete],\
    Player[playerid][PosX],\
    Player[playerid][PosY],\
    Player[playerid][PosZ],\
    Player[playerid][PosR],\
    PlayerName(playerid));



RE: Salvamento SQL - BitSain - 18/10/2024

Você está indicando que o " '%f " é uma string, pois está entre aspas simples.
Se você retirar, deve funcionar.

Código:
format(Query, sizeof(Query), "UPDATE Player SET Admin = %d, Genero = %d, Dinheiro = %d, Level = %d, Skin = %d, IDF = %d, Interior = %d, VirtualW = %d, Vida = %f, Colete = %f, PosX = %f, PosY = %f, PosZ = %f, PosR = %f WHERE Nome = '%s';",
    Player[playerid][Admin],
    Player[playerid][Genero],
    Player[playerid][Dinheiro],
    Player[playerid][pNivel],
    Player[playerid][Skin],
    Player[playerid][IDF],
    Player[playerid][Interior],
    Player[playerid][VirtualW],
    Player[playerid][Vida],
    Player[playerid][Colete],
    Player[playerid][PosX],
    Player[playerid][PosY],
    Player[playerid][PosZ],
    Player[playerid][PosR],
    PlayerName(playerid));