Save query
#1

I have a problem, this function doesn't save LastLogin, Score and Money. In mysql log LastLogin says: "LastLogin: e", meanwhile score/money to 0.

Other values are saved correctly.

pawn Code:
UpdatePlayerData(playerid)
{
    if(Player[playerid][IsLoggedIn] == false) return 0;

    new query[1300], p = playerid;
    format(query,sizeof(query), "UPDATE `players` SET `LastLogin` = '%e', `Kills` = %d, `Deaths` = %d, `Score` = %i, `Money` = %i, `Level` = %d, `WantedLevel` = %d, `Skin` = %d, `PlayerGender` = %d WHERE `ID`= %d",
    ReturnDate(), Player[p][Kills], Player[p][Deaths], GetPlayerScore(p), GetPlayerMoney(p), Player[p][Level], GetPlayerWantedLevel(p), GetPlayerSkin(p) ,Player[p][PlayerGender], Player[p][ID]);
    mysql_query(g_SQL, query);

    format(query,sizeof(query),"UPDATE `players` SET `PlayingHours` = %d, `PlayingMinutes` = %d, `FirstSpawn` = %d, `Job` = %d, `Bank` = %d, `NoPm` = %d, `Diseases` = %d WHERE `ID`= %d",
    Player[p][PlayingHours], Player[p][PlayingMinutes], Player[p][FirstSpawn], Player[p][Job], Player[p][Bank], Player[p][NoPm], Player[p][Diseases], Player[p][ID]);
    mysql_query(g_SQL, query);

    format(query,sizeof(query), "UPDATE `players` SET `VehicleLicense` = %d, `MotorbikeLicense` = %d, `PlaneLicense` = %d, `HelicopterLicense` = %d, `BankDeposited` = %d, `BankWithdrawal` = %d, `Jailed` = %d, `Warns` = %d WHERE `ID`= %d",
    Player[p][VehicleLicense], Player[p][MotorbikeLicense], Player[p][PlaneLicense], Player[p][HelicopterLicense], Player[p][BankDeposited], Player[p][BankWithdrawal], Player[p][Jailed], Player[p][Warns], Player[p][ID]);
    mysql_query(g_SQL, query);
   
    format(query,sizeof(query),"UPDATE `players` SET `MarijuanaSeeds` = %d, `CocaineSeeds` = %d, `HeroinSeeds` = %d, `Drugs` = %d WHERE `ID`= %d",
    Player[p][MarijuanaSeeds], Player[p][CocaineSeeds], Player[p][HeroinSeeds], Player[p][Drugs], Player[p][ID]);
    mysql_query(g_SQL, query);
    return 1;
}
Reply
#2

To be able to use %e to escape you gotta use mysql_format not normal format.
Reply
#3

Ok and what about score/money?
Reply
#4

Quote:
Originally Posted by KinderClans
View Post
Ok and what about score/money?
They are part of that query as it failing due to %e so none being updated. Use mysql_format and all should be fixed.
Reply
#5

Done, now getting argument type mismatch:

pawn Code:
mysql_format(query,sizeof(query), "UPDATE `players` SET `LastLogin` = '%e', `Kills` = %d, `Deaths` = %d, `Score` = %i, `Money` = %i, `Level` = %d, `WantedLevel` = %d, `Skin` = %d, `PlayerGender` = %d WHERE `ID`= %d",
    ReturnDate(), Player[p][Kills], Player[p][Deaths], GetPlayerScore(p), GetPlayerMoney(p), Player[p][Level], GetPlayerWantedLevel(p), GetPlayerSkin(p) ,Player[p][PlayerGender], Player[p][ID]);
    mysql_query(g_SQL, query);
Reply
#6

First parameter is connection handler.
PHP Code:
mysql_format(g_SQLquery,sizeof(query),...); 
Reply
#7

PHP Code:
mysql_format(g_SQLquery,sizeof(query), "UPDATE `players` SET `LastLogin` = '%e', `Kills` = %d, `Deaths` = %d, `Score` = %i, `Money` = %i, `Level` = %d, `WantedLevel` = %d, `Skin` = %d, `PlayerGender` = %d WHERE `ID`= %d",
    
ReturnDate(), Player[p][Kills], Player[p][Deaths], GetPlayerScore(p), GetPlayerMoney(p), Player[p][Level], GetPlayerWantedLevel(p), GetPlayerSkin(p) ,Player[p][PlayerGender], Player[p][ID]);
    
mysql_query(g_SQLquery); 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)