not saving
#1

Someone knows why this query doesn't save stats when someone quits?

OnPlayerDisconnect:

pawn Код:
if(Logged[playerid] == 1)
    {
    new score = GetPlayerScore(playerid);
    new money = GetPlayerMoney(playerid);
    new query[500], pname[24];
    GetPlayerName(playerid, pname, 24);
    format(query, sizeof(query), "UPDATE `playerdata` SET Scores='%d', Cash='%d', Admin='%d', Deaths='%d', Nopm='%d', Muted='%d', Vip='%d', Warn='%d', RegisterDate='%d', Jailed='%d', AdminActions='%d', Cookies='%d', Rank='%d', VipTime='%d', Class='%d', PrototypesStolen='%d', Exp='%d', Duty='%d', KillAsUsaTeam='%d', KillAsGermanyTeam='%d', KillAsItalyTeam='%d', KillAsJapanTeam='%d', KillAsMercTeam='%d', KillAsMexicoTeam='%d' WHERE user='%s'",
    score,
    money,
    PlayerInfo[playerid][Admin],
    PlayerInfo[playerid][Deaths],
    PlayerInfo[playerid][Nopm],
    PlayerInfo[playerid][Muted],
    PlayerInfo[playerid][Vip],
    PlayerInfo[playerid][Warn],
    PlayerInfo[playerid][RegisterDate],
    PlayerInfo[playerid][Jailed],
    PlayerInfo[playerid][AdminActions],
    PlayerInfo[playerid][Cookies],
    PlayerInfo[playerid][Rank],
    PlayerInfo[playerid][VipTime],
    PlayerInfo[playerid][Class],
    PlayerInfo[playerid][PrototypesStolen],
    PlayerInfo[playerid][Exp],
    PlayerInfo[playerid][Duty],
    PlayerInfo[playerid][KillAsUsaTeam],
    PlayerInfo[playerid][KillAsGermanyTeam],
    PlayerInfo[playerid][KillAsItalyTeam],
    PlayerInfo[playerid][KillAsJapanTeam],
    PlayerInfo[playerid][KillAsMercTeam],
    PlayerInfo[playerid][KillAsMexicoTeam],
    pname
    );
    mysql_query(query);
    }
The tables are created and everything is ok. The only thing that doesnt save is the score and the money.
Reply
#2

Are you sure there is no error in debug and rows names are right in case?
Reply
#3

Yes they are. Because when i rejoin it asks me to login, so i guess tables are set correctly.

EDIT: Rechecked mysql log now:

Quote:

[13:49:20] >> mysql_query( Connection handle: 1 )

[13:49:20] CMySQLHandler::Query(SELECT IP FROM `playerdata` WHERE user = 'Face9000' LIMIT 1) - Successfully executed.

[13:49:20] >> mysql_store_result( Connection handle: 1 )

[13:49:20] CMySQLHandler::StoreResult() - Result was stored.

[13:49:20] >> mysql_num_rows( Connection handle: 1 )

[13:49:20] CMySQLHandler::NumRows() - Returned 0 row(s)

[13:49:20] >> mysql_free_result( Connection handle: 1 )

[13:49:20] CMySQLHandler::FreeResult() - Result was successfully free'd.

[13:49:23] >> mysql_query( Connection handle: 1 )

[13:49:23] CMySQLHandler::Query(INSERT INTO playerdata (user, password, Scores, Cash, Admin, Deaths, Nopm, Muted, Vip, Warn, RegisterDate, Jailed, AdminActions, Cookies, Rank, VipTime, Class, PrototypesStolen, KillAsUsaTeam, KillAsGermanyTeam, KillAsItalyTeam, KillAsJapanTeam, KillAsMercTeam, KillAsMexicoTeam, IP) VALUES('Face9000', SHA1('sdjiodafjiodwjfiojiowojihoihijo'), 0, 0, 0, 0, 0, 0, 0, 0, '13:49:23 - 3/1/2014', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '')) - Successfully executed.

[13:49:28] >> mysql_query( Connection handle: 1 )

[13:49:28] CMySQLHandler::Query(UPDATE `playerdata` SET Scores='0', Cash='0', Admin='0', Deaths='0', Nopm='0', Muted='0', Vip='0', Warn='0', RegisterDate='0', Jailed='0', AdminActions='0', Cookies='0', Rank='0', VipTime='0', Class='0', PrototypesStolen='0', Exp='0', Duty='0', KillAsUsaTeam='0', KillAsGermanyTeam='0', KillAsItalyT) - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1)

[13:49:51] >> mysql_query( Connection handle: 1 )


[13:49:52] >> mysql_store_result( Connection handle: 1 )

[13:49:52] CMySQLHandler::StoreResult() - No data to store.

[13:49:52] >> mysql_num_rows( Connection handle: 1 )

[13:49:52] CMySQLHandler::NumRows() - You cannot call this function now. (Reason: Dead Connection)

[13:49:52] >> mysql_fetch_row_format( Connection handle: 1 )

[13:49:52] CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)

[13:49:52] >> mysql_query( Connection handle: 1 )


[13:49:52] >> mysql_free_result( Connection handle: 1 )

[13:49:52] CMySQLHandler::FreeResult() - The result is already empty.

Reply
#4

try this
pawn Код:
"UPDATE `playerdata` SET `Scores`=%d, `Cash`=%d, `Admin`=%d, `Deaths`=%d, `Nopm`=%d, `Muted`=%d, `Vip`=%d, `Warn`=%d, `RegisterDate`=%d, `Jailed`=%d, `AdminActions`=%d, `Cookies`=%d, `Rank`=%d, `VipTime`=%d, `Class`=%d, `PrototypesStolen`=%d, `Exp`=%d, `Duty`=%d, `KillAsUsaTeam`=%d, `KillAsGermanyTeam`=%d, `KillAsItalyTeam`=%d, `KillAsJapanTeam`=%d, `KillAsMercTeam`=%d, `KillAsMexicoTeam`=%d WHERE `user`='%s'",
if that didnt work, post your mysql log
Reply
#5

Quote:

[15:03:14] CMySQLHandler::Query(SELECT Scores, Cash, Admin, Deaths, Nopm, Muted, Vip, Warn, RegisterDate, Jailed, AdminActions, Cookies, Rank, VipTime, Class, PrototypesStolen, KillAsUsaTeam, KillAsGermanyTeam, KillAsItalyTeam, KillAsJapanTeam, KillAsMercTeam, KillAsMexicoTeam FROM playerdata WHERE user = 'Face9000') - Successfully executed.

[15:03:14] >> mysql_store_result( Connection handle: 1 )

[15:03:14] CMySQLHandler::StoreResult() - Result was stored.

[15:03:14] >> mysql_fetch_row_format( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchRow() - Return: 0|500000|5|0|0|0|0|0|13|0|0|0|0|0|0|0|0|0|0|0|0|0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Scores") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Cash") - 500000

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Admin") - 5

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Deaths") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Nopm") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Muted") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Vip") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Warn") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("RegisterDate") - 13

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Jailed") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("AdminActions") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Cookies") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Rank") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("VipTime") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Class") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("PrototypesStolen") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Exp") -

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("Duty") -

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("KillAsUsaTeam") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("KillAsGermanyTeam") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("KillAsItalyTeam") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("KillAsJapanTeam") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("KillAsMercTeam") - 0

[15:03:14] >> mysql_fetch_field_row( Connection handle: 1 )

[15:03:14] CMySQLHandler::FetchField("KillAsMexicoTeam") - 0

[15:03:14] >> mysql_fetch_row_format( Connection handle: 1 )

[15:03:14] >> mysql_free_result( Connection handle: 1 )

[15:03:14] CMySQLHandler::FreeResult() - Result was successfully free'd.

[15:03:14] >> mysql_free_result( Connection handle: 1 )

[15:03:14] CMySQLHandler::FreeResult() - The result is already empty.

[15:03:22] >> mysql_query( Connection handle: 1 )

[15:03:22] CMySQLHandler::Query(UPDATE `playerdata` SET `Scores`=0, `Cash`=500000, `Admin`=5, `Deaths`=0, `Nopm`=0, `Muted`=0, `Vip`=0, `Warn`=0, `RegisterDate`=13, `Jailed`=0, `AdminActions`=0, `Cookies`=0, `Rank`=0, `VipTime`=0, `Class`=0, `PrototypesStolen`=0, `Exp`=0, `Duty`=0, `KillAsUsaTeam`=0, `KillAsGermanyTeam`=0, `KillAsItalyTeam`=0, `KillAsJapanTeam`=0, `KillAsMercTeam`=0, `KillAsMexicoTeam`=0 WHERE `user`='Face9000') - Successfully executed.

Seems working but haven't tested yet. I'll test later and update this topic. Some rows were missing, like Exp and Duty.
Reply
#6

Yes works, this topic can be closed.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)