• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Ограничение по выводу данных mysql?

Статус
В этой теме нельзя размещать новые ответы.

robin32125

Нуль
Регистрация
14 Апр 2019
Сообщения
8
Лучшие ответы
0
Репутация
0
Друзья, столкнулся с очень странной проблемой. Началось все с того, что мне начали выводиться переменные с левым значением, хотя вроде как делаю все правильно.
Ушло несколько часов на выяснение проблемы и вот что:
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);
}
Вот этот код выводит мне неверное значение 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, "score", pInfo[playerid][score]);
                }
                cache_delete(result);
        }
        //else printf("?????? ??????? (%d)(%s).", mysql_errno(db), query);
}
В чем может быть проблема?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу