Перейти к содержанию
Авторизация  
Supreme228

error #1054, 1064 [mysql]

Рекомендуемые сообщения

Supreme228

Доброго времени суток. Решил заглянуть в mysql лог, а тут следующая ситуация:

[ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column 'online' in 'field list'
[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` = 'Dmitriy_Khodyrev'' at line 1

Прошу помощи. Все необходимые строки скину.

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


Ссылка на сообщение
Поделиться на другие сайты
MOP TTEX

У тебя в таблице нет 'online'

А так же неправильно делаешь запрос 'WHERE `name` = 'Dmitriy_Khodyrev'' (у тебя в конце уже две ', а так же в начале должно быть что то типа SELECT * FROM `table` ...

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


Ссылка на сообщение
Поделиться на другие сайты
Supreme228

@MOP TTEX, "online" есть в таблице "accounts" и в таблице "admin". В "admin" считается онлайн администратора за день и итог за неделю(всё равно не работает, причину выяснить не могу). Вот строки, связанные с pOnline:

pOnline,

В OnPlayerDisconnect:
PI[playerid][pOnline] = 0,MysqlUpdatePlayerInt(playerid, "online", PI[playerid][pOnline]);

В OnPlayerLogin:
PI[playerid][pOnline] = 1,MysqlUpdatePlayerInt(playerid, "online", PI[playerid][pOnline]);

И с запросом я не очень понял. Где и как его исправить, если вы пишите, что он неправильный?(
Эта строка как-то связана с этим?

mysql_format(dbHandle, string, sizeof(string), "SELECT * FROM "T_ACCOUNTS" WHERE `name` = '%e' LIMIT 1",PI[playerid][pName]);

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


Ссылка на сообщение
Поделиться на другие сайты
Supreme228

p.s. отредактировать прошлое сообщение не могу, i'm sorry.

 

Ошибку 1064 исправил. Нужно было всего лишь убрать одну запятую в стоке сохранения аккаунта.

 

Осталась всё та же проблема:

[ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column 'online' in 'field list'

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


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Supreme228, вроде как у тебя нет колонки "online" в таблице "field list", если я не ошибаюсь. 

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


Ссылка на сообщение
Поделиться на другие сайты
Supreme228

@SCRIPTMAN, Нет, вы ошибаетесь. В таблице "accounts" есть поле online, так мало того, что оно там есть, так еще данные туда записываются. "0" - если игрок не на сервере, "1" - если на сервере. Но я не могу понять, почему тогда в логи ошибку кидает? Ведь всё есть... 

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


Ссылка на сообщение
Поделиться на другие сайты
MOP TTEX

@Supreme228, MysqlUpdatePlayerInt это от плагина, или от мода функция?

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


Ссылка на сообщение
Поделиться на другие сайты
Smolin

@Supreme228, mysql логи полностью скинь

Изменено пользователем Smolin

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


Ссылка на сообщение
Поделиться на другие сайты
Supreme228

@Smolin, Буквально минут 5 назад очистил их(((. Порылся в моде, в итоге добавил поле "online" в таблицу "admin" (там у меня список администраторов и так далее). Окей, эта строка из логов пропала. Но теперь, после рестарта через /gmx в логах появляется вот этот варнинг:

[WARNING] CMySQLConnection::Disconnect - no connection available

Как с ним надо бороться?

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


Ссылка на сообщение
Поделиться на другие сайты
MOP TTEX

После завершения игрового процесса (проще говоря во время рестарта) у Вас не закрывается соединение с БД. И во время загрузки, оно соединяется по новой. Отключите его в паблике OnGameModeExit

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


Ссылка на сообщение
Поделиться на другие сайты
Supreme228

 

 


OnGameModeExit
public OnGameModeExit()
{
    SaveAcc();
	DestroyAllDynamicObjects();
	DestroyAllDynamicPickups();
	DestroyAllDynamicCPs();
	DestroyAllDynamicRaceCPs();
	DestroyAllDynamicMapIcons();
	DestroyAllDynamic3DTextLabels();
	DestroyAllDynamicAreas();
	KillTimer(second_timer);
	KillTimer(player_timer);
 	
    for(new i; i < 3; i++) TextDrawDestroy(LOGO[i]),TextDrawDestroy(SpeedBox[i]);
    for(new i; i < 3; i++) TextDrawDestroy(show_speed[i]),TextDrawDestroy(GreenZoneText[i]);
    for(new i; i < 10; i++) TextDrawDestroy(Customization[i]),TextDrawDestroy(SkinShopBox[i]);
    for(new i; i < 4; i++) TextDrawDestroy(AnimDraw[i]),TextDrawDestroy(GPSEnabled[i]);
    for(new i; i < 6; i++) TextDrawDestroy(PotrebBox[i]);
    for(new i; i < 25; i++) TextDrawDestroy(RegaBox[i]);
    for(new i; i < 5; i++) TextDrawDestroy(InfoBox[i]);
    for(new i; i < 17; i++) TextDrawDestroy(TD_SALON[i]);
    
	regex_delete_all();
	mysql_close();
	printf("[Статус]: Отключение мода..");
	return 1;
}

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


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

  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.