Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Вопросы

Помогите исправить данную ошибку, если надо что-то еще пишите кину!
 

[07:25:33] [ERROR] cache_get_row_int - invalid datatype
[07:25:33] [ERROR] cache_get_row_int - invalid datatype
[07:25:33] [ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column 'online' in 'field list'
[07:25:33] [ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column 'online' in 'field list'
[07:31:24] [ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column 'online' in 'field list'
[07:31:24] [ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column 'online' in 'field list'
[07:31:24] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `name` = 'Jaliba_Baron'' at line 1

 

Поделиться сообщением


Ссылка на сообщение

12 ответов на этот вопрос

  • 0

Здравствуйте. Данная проблема возникла вследствие неверного mySQL запроса. А точнее, не найдена колонка "online" в аккаунте игрока. 

Если не знаете, в каком запросе ошибка, то:

Вставьте этот код в public OnQueryError (если такой есть):
 

printf("[DEBUG]: error: %d, errorname: %s, callback: %s, querystr: %s, connection id: %d", errorid, error, callback, query, connectionHandle);

Если паблика OnQueryError нет, то вставьте:

public OnQueryError(errorid, error[], callback[], query[], connectionHandle)
{
    printf("[DEBUG]: error: %d, errorname: %s, callback: %s, querystr: %s, connection id: %d", errorid, error, callback, query, connectionHandle);
    return true;
}

И скиньте логи сервера (файл server_log.txt) после очередного появления ошибки.

Отредактировано пользователем stibs

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs я каким та оброзам смог упривать ошибку 1054, а ошибка под номером 1064 осталось, и не нашол "public OnQueryError" и "OnQueryError"

Помоги что нужно?

Поделиться сообщением


Ссылка на сообщение
  • 0

@Daniil Roslyakov просто киньте данный код в любое место мода, главное не в сток и не в паблик: 

public OnQueryError(errorid, error[], callback[], query[], connectionHandle)
{
    printf("[DEBUG]: error: %d, errorname: %s, callback: %s, querystr: %s, connection id: %d", errorid, error, callback, query, connectionHandle);
    return true;
}

Потом скомплируйте мод, вызовите эту ошибку и выложите логи (server_log.txt). 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs  вот

 

Server_log

  Логи (открыть спойлер)


mySQL_log

Отредактировано пользователем vlad
Причина: Взял логи под спойлер

Поделиться сообщением


Ссылка на сообщение
  • 0

@Daniil Roslyakov Удалите этот паблик, который я вам скинул, и сделайте вот что. 

Найдите строку в моде такого рода, скорее всего она находится в сохранении игрока:

`remont` = '%d',  `sleep` = '%d',  `fwarn` = '%d',  WHERE `name` = '%s'

И в ней уберите запятую перед WHERE `name`

и получится вот так:

`remont` = '%d',  `sleep` = '%d',  `fwarn` = '%d'  WHERE `name` = '%s'

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Daniil Roslyakov Скиньте паблик / сток сохранения. Он должен называться по типу SaveAccount SavePlayer или что-то в этом роде. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs 

  Паблик (открыть спойлер)

Отредактировано пользователем vlad
Причина: взял код под спойлер

Поделиться сообщением


Ссылка на сообщение
  • 0

Эту строку:

f(string, "%s `fwarn` = '%d', ",               string, PI[playerid][pfWarn]);

Замените на эту:

f(string, "%s `fwarn` = '%d' ",               string, PI[playerid][pfWarn]);

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Daniil Roslyakov Теперь пробуйте, если ошибка исчезла нажмите на галочку возле правильного ответа, если нет, то опять скиньте mysql_log. 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Dev_Persona
      От Dev_Persona
      Приветствую всех, у меня возник такой вопрос:
       
      - хочу изменить базовую регистрацию в админке в крмп, на Болле сложную то-есть, сейчас изначально пароль от админки может быть только из цифр, хотелось бы узнать как можно было бы сделать что бы можно было использовать и цифры и буквы, вот код:
       
      case DIALOG_ADMIN_REG:
         {
          if(!response) return FixKick(playerid);
       
          if(strval(inputtext) < 100000 || strval(inputtext) > 999999) return ShowPlayerDialog(playerid, DIALOG_ADMIN_REG, DIALOG_STYLE_INPUT, "{FF6347}"PROJECT_NAME" {ffffff}| Придумайте пароль", "{FFFFFF}Для того, чтобы продолжить дальше - придумайте и введите\n{FFFFFF}пароль от панели администратора в диалоговое поле ниже.\n\n{FFFFFF}Пароль должен быть из 6 цифр.\n", "Готово", "");
                   SetPlayerData(playerid, P_APASS, strval(inputtext));
       
                   UpdatePlayerDatabaseInt(playerid, "AdminPassword", GetPlayerData(playerid, P_APASS));
       
                   AdminAuthorization(playerid);
         }