Проблема с сохранением данных аккаунта на MySQL. -
[Jim_L] - 25.08.2012
Всем доброго времени суток. И так, ближе к делу.
Сегодня, взял регистрацию на MySQL и вписал её в new.pwn, все работает хорошо, регистрирует и авторизует.
Добавил переменную pLevel, в CreateAccount тоже добавил (При регистрации выдает 1 уровень), в LoadAccount и в SaveAccount тоже добавил сохранение этой переменной. Сама проблема в том, что при регистрации, ID, Nick, Password и Level в БД записало отлично, но теперь, когда я присваиваю значение переменной pLevel с помощью команды,
PHP код:
CMD:test(playerid, params[])
{
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(query, sizeof(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
Все таки мелкая деталь, и получилось не заметить. Спасибо, решил проблему.