Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Problem z zapytaniem


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 Andrzejek

    Ucze się :]

  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 14.05.2013 15:55

Witam, mam problem z zapytaniem ponieważ zrobiłem tak:

 

public client_connect(id)
{
    if(SqlConnected)
    {
        new Data[1]
        Data[0] = id
        new qCommand[512], sid[32], name[33];
        get_user_authid(id, sid, charsmax(sid))
        get_user_name(id, name, charsmax(name));
        format(qCommand, sizeof qCommand-1, "SELECT * FROM `amx_jailbansct` WHERE `nick_gracza` = '%s', WHERE `authid` = '%s'", name, sid)
        SQL_ThreadQuery(SQL_TUPLE, "CheckHandler", qCommand, Data, 1)
    }
    else lacz_sql();
}
public CheckHandler(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
    new id = Data[0]
    if(Errorcode)
    {
        log_amx("Blad w zapytaniu %s [CheckData]", Error)
        return PLUGIN_CONTINUE;
    }
    if(FailState == TQUERY_CONNECT_FAILED)
    {
        log_amx("Nie mozna podlaczyc sie do bazy danych.")
        return PLUGIN_CONTINUE;
    }
    else if(FailState == TQUERY_QUERY_FAILED)
    {
        log_amx("Zapytanie anulowane [CheckData]")
        return PLUGIN_CONTINUE;
    }
    if(!SQL_MoreResults(Query))
    {
        blokada[id] = false;
    }
    else
    {
        blokada[id] = true;
    }
    return PLUGIN_CONTINUE
}

 

I powinno to tak działać, że jeżeli gracz jest wpisany w bazie to daje mu zmienną blokada[id] = true; Ale coś nie działa

Kolega mi pomagał z tym, ale on nie wie czemu tak się dzieje


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#2 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 14.05.2013 16:08

Zamień

if(!SQL_MoreResults(Query))
    {
        blokada[id] = false;
    }
    else
    {
        blokada[id] = true;
    }

 

na:

blokada[id] = SQL_NumResults(Query)>0;

 

bo MoreResults nie służy do tego. A poza tym masz błąd w zapytaniu :)

SELECT * FROM `amx_jailbansct` WHERE `nick_gracza` = '%s', WHERE `authid` = '%s'

Zamień na:

SELECT * FROM `amx_jailbansct` WHERE `nick_gracza` = '%s' OR `authid` = '%s'

 

Tylko nie wiem, czy powinno być OR, czy AND. Nie wiem jak to ma działać :P Ale raczej OR

 


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#3 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 14.05.2013 17:05

Jednak nie działa :( A jak wykonać zapytanie, która usuwa blokadę?


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 15.05.2013 11:03

DELETE FROM?

 

Pokazałbyś może jakieś error logi.


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#5 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 15.05.2013 11:31

Brak, error logów, chodzi o to że baza się łaczy, dodaje komuś tam blokadę i sprawdzam w bazie to jest, tylko gdy zmienię mapę i połączę się z serwerem to nie mam tej blokady a w bazie danych jest


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#6 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 15.05.2013 13:56

Okej, sam sobie poradziłem, ale mam problem z usuwaniem bazy

new sZapytanie[512];
format(sZapytanie, 511, "INSERT INTO `amx_jailbansct` (`nick_gracza`, `authid`, `date`, `admin_sid`, `admin_name` ) VALUES ('%s', '%s', '%s', '%s', '%s')", name, sid, date, admin_sid, admin_name);
SQL_ThreadQuery(SQL_TUPLE, "ADD_handle", sZapytanie);

To jak to przerobić żeby usuwało bana?


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#7 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 15.05.2013 15:16

Po 1. musisz mieć unikalną wartość, która pozwoli Ci usunąć konkretnego bana. Może być to nick, może być steamid, może być po prostu ID bana. Następnie wykonujesz zapytanie

DELETE FROM `amx_jailbansct` WHERE `nick_gracza`=%s OR `authid`=%s

 

Z przerobieniem na ID bana problemów mieć nie powinieneś, ale wątpię, żebyś używał id :)


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#8 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 15.05.2013 15:47

nie ogarniam, tego, jeżeli wybiorę jakiegoś gracza to nic się nie dzieje :(


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#9 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 15.05.2013 19:28

new Data[1]
Data[0] = id
new qCommand[512], sid[32], name[33];
get_user_authid(id, sid, charsmax(sid))
get_user_name(id, name, charsmax(name));
format(qCommand, sizeof qCommand-1, "SELECT * FROM `amx_jailbansct` WHERE `nick_gracza` = '%s', WHERE `authid` = '%s'", name, sid)
SQL_ThreadQuery(SQL_TUPLE, "CheckHandler", qCommand, Data, 1)


Unban dla wszystkich gwarantuje dobrodziej o nicku:
';DELETE FROM amx_jailbansct;--





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych