C++ гляньте код - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

C++ гляньте код

#1 Пользователь не на сайте   TemKa_SD ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 614
  • Регистрация: 16-Январь 18
  • Репутация: 7
  • Откуда:Спасск-Дальний
  • IPB version:4.1.x
 

Отправлено 15 Май 2019 - 05:27

Здравствуйте, есть кто знает C++?. Я тут реализовал вывод ошибок и выполнение результата, это что-то первое моё на C++, только начал разбирать этот язык.

Был такой код, который просто возвращал верный результат, если было что обновлять, даже если данные введены не правильно. Оно не обновляло, но клиенту выдавало сообщение об успехе.
string UpdateQuery = "UPDATE wc3_gameplayers_connected SET status = 'approved' WHERE name='" + EscName + "' AND token='" + EscToken + "' AND server='" + EscRealm + "';";

if( mysql_real_query( (MYSQL *)conn, UpdateQuery.c_str( ), UpdateQuery.size( ) ) != 0 )
	*error = mysql_error( (MYSQL *)conn );
else
	result = 1;

return result;


Переписанный код с выводом правильных результатов:

string ExistQuery = "SELECT name, server, token FROM wc3_gameplayers_connected WHERE name='" + EscName + "' AND server='" + EscRealm + "'";
bool Exists = false;

// ExistQuery - выбираем текущие данные по имени и серверу, если всё в порядке, продолжаем работать, иначе, что-то пошло не так.
if( mysql_real_query( (MYSQL *)conn, ExistQuery.c_str( ), ExistQuery.size( ) ) == 0 )
{
	MYSQL_RES *Result = mysql_store_result( (MYSQL *)conn );

	if( Result )
	{
		vector<string> Row = MySQLFetchRow( Result );
		// Если строка существует по имени и серверу, продолжаем работать, иначе выведем сообщение #2
		if( !Row.empty( ) )
		{
			Exists = true;

			// Если токен из базы соответствует вводимому, обновляем и выдаем успешный результат с сообщением #1, иначе выводим сообщение 
			if( Row[2] == EscToken )
			{
				string UpdateQuery = "UPDATE wc3_gameplayers_connected SET status = 'approved' WHERE name='" + EscName + "' AND token='" + EscToken + "' AND server='" + EscRealm + "';";

				if( mysql_real_query( (MYSQL *)conn, UpdateQuery.c_str( ), UpdateQuery.size( ) ) != 0 )
					*error = mysql_error( (MYSQL *)conn );
				else
					result = 1;
			}
			else
				result = 3;
		}
		else 
			result = 2;

		mysql_free_result( Result );
	}
}
else
{
	*error = mysql_error( (MYSQL *)conn );

return result;


Всё вроде работает правильно, что скажите?

Сообщение изменено: TemKa_SD (15 Май 2019 - 05:30)

0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 446
  • Регистрация: 20-Март 09
  • Репутация: 2 549
  • IPB version:3.1.x
 

Отправлено 15 Май 2019 - 05:44

Просмотреть сообщениеTemKa_SD сказал(а):

есть кто знает C++

Навряд ли. Тут в основном тру пэхапешники.
1

Сообщить об этой теме:


Страница 1 из 1
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2019 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна