MYSQL čuvanje podataka

Započeo Darkic
16. Jan. 2019.
719
pregleda
14
postova
Bryan123
4
Enforcer
16. Jan. 2019.
Problem(error/warning): Iz nepoznatog razloga ne upisuje podatke u bazu
Dio skripte: OnPlayerDisconnec
Pawno Code:
public OnPlayerDisconnect(playerid, reason)
{
Corrupt_Check++;

new DB_Query;

mysql_format(Database, DB_Query, sizeof(DB_Query), "UPDATE `PLAYERS` SET `SCORE` = %d, `CASH` = %d, `KILLS` = %d, `DEATHS` = %d WHERE `ID` = %d LIMIT 1",
pInfo, pInfo, pInfo, pInfo, pInfo);

mysql_tquery(Database, DB_Query);

if(cache_is_valid(pInfo))
{
cache_delete(pInfo);
pInfo = MYSQL_INVALID_CACHE;
}

pInfo = false;
print("OnPlayerDisconnect has been called.");
return 1;
}
Ivan_Ino
5
Kingpin
16. Jan. 2019.
Imas li ista u mysql logovima?
i uz to probaj ovako
UPDATE `PLAYERS` SET `SCORE` = '%d', `CASH` = '%d', `KILLS` = '%d', `DEATHS` = '%d' WHERE `ID` = '%d' LIMIT 1
Bryan123
4
Enforcer
16. Jan. 2019.
Samo ovo, ali baza nema password, na localhostu je
[19:49:00] mysql_connect: no password specified


EDIT: Ne pomaze
[19:52:54] error #1054 while executing query "UPDATE `PLAYERS` SET `SCORE` = `20`, `CASH` = `1000`, `KILLS` = `0`, `DEATHS` = `0` WHERE `ID` = `3` LIMIT 1": Unknown column '3' in 'where clause'
Ivan_Ino
5
Kingpin
16. Jan. 2019.
ovako
UPDATE `PLAYERS` SET `SCORE` = '%d', `CASH` = '%d', `KILLS` = '%d', `DEATHS` = '%d' WHERE `ID` = '%d' LIMIT 1


ovo sranje od [ /pawn] mi je izmjenilo neke karaktere
Bryan123
4
Enforcer
16. Jan. 2019.
Ista stvar, ne radi. Pomislio sam da je do komande, ali cini mi se ok

CMD:setmoney(playerid, params[])
{
new id, money;
if(sscanf(params, "ud", id, money)) SendClientMessage(playerid, -1, "Usage: /setmoney ");
else
{
GivePlayerMoney(id, money);
pInfo = GetPlayerMoney(playerid);

}
return 1;
}
ColicAG
2
Wheel Man
16. Jan. 2019.
Pawno wrote on January 16, 2019, 7:44 pm:
Ista stvar, ne radi. Pomislio sam da je do komande, ali cini mi se ok

CMD:setmoney(playerid, params[])
{
new id, money;
if(sscanf(params, "ud", id, money)) SendClientMessage(playerid, -1, "Usage: /setmoney ");
else
{
GivePlayerMoney(id, money);
pInfo = GetPlayerMoney(playerid);
}
return 1;
}


Ja mislim da ce ti ovo pomoci 😄

CMD:setmoney(playerid, params[])
{
new id, money;
if(sscanf(params, "ud", id, money)) SendClientMessage(playerid, -1, "Usage: /setmoney ");
else
{
GivePlayerMoney(id, money);
pInfo = money;
new query;
mysql_format(Database, query, sizeof(query), "UPDATE `PLAYERS` SET `CASH` = '%d' WHERE `ID` = '%d'", pInfo, pInfo);
mysql_tquery(Database, query);
}
return 1;
}
Bryan123
4
Enforcer
16. Jan. 2019.
Cilj mi je da cuva podatke prilikom izlaska igraca sa servera, ne u samoj komandi. Isto tako, ova komanda cuva samo poslednju unetu vrednost, npr postavim 5000$ i nakon toga 5$, u bazi ce biti upisano 5$.
ColicAG
2
Wheel Man
16. Jan. 2019.
Pawno wrote on January 16, 2019, 8:15 pm:
Cilj mi je da cuva podatke prilikom izlaska igraca sa servera, ne u samoj komandi. Isto tako, ova komanda cuva samo poslednju unetu vrednost, npr postavim 5000$ i nakon toga 5$, u bazi ce biti upisano 5$.


onda ovako treba pod OnPlayerDissconect

Neka me neko ispravi ako sam pogresio 😄

PS: Ovo sam uradio po nekom mom stilu rada, ti samo prilagodi svom kodu ovo 😄

public OnPlayerDisconnect(playerid, reason)
{
if(IsPlayerConnected(playerid))
{
    new q;
    mysql_format(DataBase, q, sizeof(q), "UPDATE `PLAYERS` SET `kills` = '%d', `deaths` = '%d', `isonline` = '0', WHERE `user_id` = '%d'", PlayerInfo, PlayerInfo, PlayerInfo);
    mysql_tquery(DataBase, q);
}
return 1;
}

   
Bryan123
4
Enforcer
16. Jan. 2019.
Upravo sam tako i uradio, pogledaj prvi post...

        new DB_Query;

mysql_format(Database, DB_Query, sizeof(DB_Query), "UPDATE `PLAYERS` SET `SCORE` = %d, `CASH` = %d, `KILLS` = %d, `DEATHS` = %d WHERE `ID` = %d LIMIT 1",
pInfo, pInfo, pInfo, pInfo, pInfo);

mysql_tquery(Database, DB_Query);
ColicAG
2
Wheel Man
16. Jan. 2019.
Pawno wrote on January 16, 2019, 8:23 pm:
Upravo sam tako i uradio, pogledaj prvi post...

        new DB_Query;

mysql_format(Database, DB_Query, sizeof(DB_Query), "UPDATE `PLAYERS` SET `SCORE` = %d, `CASH` = %d, `KILLS` = %d, `DEATHS` = %d WHERE `ID` = %d LIMIT 1",
pInfo, pInfo, pInfo, pInfo, pInfo);

mysql_tquery(Database, DB_Query);

 [19:52:54] error #1054 while executing query "UPDATE `PLAYERS` SET `SCORE` = `20`, `CASH` = `1000`, `KILLS` = `0`, `DEATHS` = `0` WHERE `ID` = `3` LIMIT 1": Unknown column '3' in 'where clause'


Zasto si stavljao pod UPDATE `PLAYERS` SET odmah da setas level i ostalo, trebao si kako ti je napisao @Ino42O i proveri u mysql logovima da li ti nesto izlazi kada uradis sve ovo.
UPDATE `PLAYERS` SET `SCORE` = '%d', `CASH` = '%d', `KILLS` = '%d', `DEATHS` = '%d' WHERE `ID` = '%d' LIMIT 1
Bryan123
4
Enforcer
16. Jan. 2019.
boky dev wrote on January 16, 2019, 8:26 pm:
 [19:52:54] error #1054 while executing query "UPDATE `PLAYERS` SET `SCORE` = `20`, `CASH` = `1000`, `KILLS` = `0`, `DEATHS` = `0` WHERE `ID` = `3` LIMIT 1": Unknown column '3' in 'where clause'


Zasto si stavljao pod UPDATE `PLAYERS` SET odmah da setas level i ostalo, trebao si kako ti je napisao @Ino42O i proveri u mysql logovima da li ti nesto izlazi kada uradis sve ovo.
UPDATE `PLAYERS` SET `SCORE` = '%d', `CASH` = '%d', `KILLS` = '%d', `DEATHS` = '%d' WHERE `ID` = '%d' LIMIT 1
To je iz logova, dodao sam jednostruke navodnike i nista se ne menja
ColicAG
2
Wheel Man
16. Jan. 2019.
Pawno wrote on January 16, 2019, 8:39 pm:
To je iz logova, dodao sam jednostruke navodnike i nista se ne menja


Ne mogu ce je ako si stavio lepo primer:
`cash` = '%d'
Bryan123
4
Enforcer
16. Jan. 2019.
Poslacu ti skriptu na PM, al najverovatnije cu raditi preko y_ini
Bryan123
4
Enforcer
16. Jan. 2019.
Izvinjavam se za DP, nemam opciju edit. ReÅ¡eno je, problem je bio u jednom  zarezu, može lock

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha