robin32125
Нуль
- Регистрация
- 14 Апр 2019
- Сообщения
- 8
- Лучшие ответы
- 0
- Репутация
- 0
Друзья, столкнулся с очень странной проблемой. Началось все с того, что мне начали выводиться переменные с левым значением, хотя вроде как делаю все правильно.
Ушло несколько часов на выяснение проблемы и вот что:
Вот этот код выводит мне неверное значение pInfo[playerid][score], то есть если у меня 1 в таблице, в игре будет больше сотни.
Но! Я попытался взять всего один столбец со значением score , остальные пока что не трогать и очень странно, что значение score мне вывелось правильно.
Вот этот код у меня работает:
В чем может быть проблема?
Ушло несколько часов на выяснение проблемы и вот что:
PHP:
stock PlayerDataLoad(playerid) // Çàãðóçêà àêêàóíòà íå îñíîâíîàÿ ôóíêöèöÿ
{
new name[MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, name, sizeof(name));
static const query_mask[] = "SELECT * FROM `PlayerInfoGeneral` WHERE `login` = '%s'";
new query[sizeof(query_mask) - 2 + MAX_PLAYER_NAME];
mysql_format(dbHandle, query, sizeof(query), query_mask, name);
new Cache:result = mysql_query(dbHandle, query);
if (cache_is_valid(result))
{
if (cache_num_rows() > 0)
{
cache_get_value_name_int(0, "id", pInfo[playerid][number]);
cache_get_value_name_int(0, "skin", pInfo[playerid][skin]);
cache_get_value_name_int(0, "score", pInfo[playerid][score]);
cache_get_value_name_int(0, "aks_shlap", pInfo[playerid][aks_shlap]);
cache_get_value_name_int(0, "aks_parash", pInfo[playerid][aks_parash]);
cache_get_value_name_int(0, "money", pInfo[playerid][money]);
cache_get_value_name_int(0, "donate", pInfo[playerid][donate]);
cache_get_value_name(0, "data-reg", pInfo[playerid][datareg], 35);
cache_get_value_name(0, "login", pInfo[playerid][login], 35);
}
cache_delete(result);
}
//else printf("?????? ??????? (%d)(%s).", mysql_errno(db), query);
}
Но! Я попытался взять всего один столбец со значением score , остальные пока что не трогать и очень странно, что значение score мне вывелось правильно.
Вот этот код у меня работает:
PHP:
stock PlayerDataLoad(playerid) // Çàãðóçêà àêêàóíòà íå îñíîâíîàÿ ôóíêöèöÿ
{
new name[MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, name, sizeof(name));
static const query_mask[] = "SELECT * FROM `PlayerInfoGeneral` WHERE `login` = '%s'";
new query[sizeof(query_mask) - 2 + MAX_PLAYER_NAME];
mysql_format(dbHandle, query, sizeof(query), query_mask, name);
new Cache:result = mysql_query(dbHandle, query);
if (cache_is_valid(result))
{
if (cache_num_rows() > 0)
{
cache_get_value_name_int(0, "score", pInfo[playerid][score]);
}
cache_delete(result);
}
//else printf("?????? ??????? (%d)(%s).", mysql_errno(db), query);
}