SA-MP Forums Archive
Проблема с сохранением данных аккаунта на MySQL. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Проблема с сохранением данных аккаунта на MySQL. (/showthread.php?tid=372100)



Проблема с сохранением данных аккаунта на MySQL. - [Jim_L] - 25.08.2012

Всем доброго времени суток. И так, ближе к делу.

Сегодня, взял регистрацию на MySQL и вписал её в new.pwn, все работает хорошо, регистрирует и авторизует.
Добавил переменную pLevel, в CreateAccount тоже добавил (При регистрации выдает 1 уровень), в LoadAccount и в SaveAccount тоже добавил сохранение этой переменной. Сама проблема в том, что при регистрации, ID, Nick, Password и Level в БД записало отлично, но теперь, когда я присваиваю значение переменной pLevel с помощью команды,

PHP код:
CMD:test(playeridparams[])
{
    
PlayerInfo[playerid][pLevel] = 5;
    
SendClientMessage(playerid, -1"Ok.");
    return 
1;

То в БД, в колонке "level" как стояло на 1, так и стоит. То есть, значение 5 не записывает в БД.

При Дисконнекте игрока ставил SaveAccounts(playerid); , не сохраняет, даже подключил таймер, чтобы аккаунт сохранялся каждые 5 минут, все равно, значение переменной pLevel в БД не записывает. Уже не знаю что делать, перепробовал все варианты, прошу у Вас помощи.


Re: Проблема с сохранением данных аккаунта на MySQL. - OKStyle - 25.08.2012

Покажи код сохранения акка.


Re: Проблема с сохранением данных аккаунта на MySQL. - [Jim_L] - 25.08.2012

Вот.

PHP код:
SaveAccount(playerid)
{
    if(
PlayerInfo[playerid][pLogged] == true)
    {
        
CheckMySQLConnection();
        new 
query[186], sqlname[MAX_PLAYER_NAME], sqlpass[64];
        
mysql_real_escape_string(PlayerInfo[playerid][pName], sqlname);
        
mysql_real_escape_string(PlayerInfo[playerid][pPassword], sqlpass);
        
format(querysizeof(query), "UPDATE `accounts` SET `nickname` = '%s', `password` = '%s', `level`='%d' WHERE `ID` = '%i'",
        
sqlname,
        
sqlpass,
        
PlayerInfo[playerid][pID],
        
PlayerInfo[playerid][pLevel]);
        
mysql_query(query);
    }
    return 
1;




Re: Проблема с сохранением данных аккаунта на MySQL. - Be$$0n - 25.08.2012

Он у тебя сначала берёт значение pID а потом pLevel, поменяй местами PlayerInfo[playerid][pID] и PlayerInfo[playerid][pLevel]


Re: Проблема с сохранением данных аккаунта на MySQL. - [Jim_L] - 25.08.2012

Все таки мелкая деталь, и получилось не заметить. Спасибо, решил проблему.