Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Проблемы с работой (MSQL)
sssw Дата: Воскресенье, 18.03.2012, 14:56:33 | Сообщение # 1
Сообщений: 123
Репутация: 14 [ +/- ]
Code
public Query_Func(Cookie:cookie, i, Result:result, const String:cvarName[], const String:cvarValue[]) //Выполняем запрос к sourcebans на STEAMID клиента взятый из xbox_throttlespoof (был занесён ранее через Motd, дабы старый движок позволяет).
{
                 decl String:temp[90];      
                 strcopy(temp, sizeof(temp), cvarValue);
                 ReplaceString(temp, sizeof(temp), " ", "");
        Format(z, sizeof(z), "SELECT RemoveType FROM `sb_bans` WHERE authid='%s'", temp);
        PrintToChatAll("%s", z);
        SQL_TQuery(wS_MYSQL, wS_MYSQL_Func, z, i);
}

public wS_MYSQL_Func(Handle:owner, Handle:hndl, const String:error[], any:i)
{
      if (hndl == INVALID_HANDLE)          
      {
       LogError(error);
       PrintToChatAll("%s", error);
       return;
      }
      if (SQL_FetchRow(hndl))  //Не хочет выполняться наверно SQL_FetchRow отвечает false, но почему (вроде в самой базе всё хорошо)?
      {                        
             decl String:baz_pass[100];
       SQL_FetchString(hndl, 0, baz_pass, sizeof(baz_pass));
       PrintToChatAll("%s", baz_pass);
       if (!StrEqual(baz_pass, "E")) // Если RemoveType из запроса не равен E (истёк) то кикнуть клиента.
       {
        KickClient(i, "Вы пытались обойти бан (возможно случайно поменялся STEAMID)");
       }
      }
}


Что не правильно?
После SQL_FetchRow() не чего не происходит.


Сообщение отредактировал sssw - Воскресенье, 18.03.2012, 15:00:09
 
_wS_ Дата: Воскресенье, 18.03.2012, 15:10:02 | Сообщение # 2
В 'public Query_Func' ты делаешь Format(z, sizeof(z), ".."), но я не вижу чтобы переменная z была создана.

Не могу так сказать. Ставь в разные части кода PrintToChatAll или PrintToServer.
Проверй что чему равно и было ли выполнено.

Code
public wS_MYSQL_Func(Handle:owner, Handle:hndl, const String:error[], any:i)
{
     PrintToChatAll("1");
     if (hndl == INVALID_HANDLE)
     {
         LogError(error);
         PrintToChatAll(error);
         return;
     }
     if (SQL_FetchRow(hndl))
     {
         PrintToChatAll("2");
     }
     else
     {
         PrintToChatAll("3");
     }
}
 
sssw Дата: Воскресенье, 18.03.2012, 15:26:59 | Сообщение # 3
Сообщений: 123
Репутация: 14 [ +/- ]
2 Найдено =).
Работает!


Сообщение отредактировал sssw - Понедельник, 19.03.2012, 00:25:26
 
  • Страница 1 из 1
  • 1
Поиск: