hlmod.hu
https://hlmod.hu/

SQL Query
https://hlmod.hu/viewtopic.php?f=9&t=28405
Oldal: 1 / 1

Szerző:  JohanCorn [2017.11.08. 19:16 ]
Hozzászólás témája:  SQL Query

Üdv!

Adódott egy probléma amit teljesen nem értek. Van egy SQL Parancsom, ami PhpMyAdmin-ban futtatva ad vissza értéket, de ha a Plugin-omon keresztül próbálok elérni nem történik semmi.

Valaki esetleg lát hibát benne?

  1. public sql_load_users_rank()
  2. {
  3.     new Query[1024] = EOS;
  4.     new Len = 0;
  5.    
  6.     Len += formatex(Query[Len], charsmax(Query) - Len, "SET @i=0; SELECT t.rank, t.Id FROM ( SELECT @i:=@i+1 AS rank, Id, Online FROM nexon_furien_register ORDER BY Stats0 DESC ) t WHERE t.Online = 1;");
  7.  
  8.     SQL_ThreadQuery(g_SqlTuple, "sql_load_users_rank_thr", Query);
  9. }
  10.  
  11. public sql_load_users_rank_thr(FailState, Handle:Query, Error[], Errcode, xData[], DataSize, Float:Queuetime)
  12. {
  13.     client_print(0, print_console, "Start");
  14.        
  15.     while ( SQL_MoreResults(Query) )
  16.     {
  17.         client_print(0, print_console, "OK");
  18.        
  19.         SQL_NextRow(Query);
  20.     }
  21.    
  22.     client_print(0, print_console, "End");
  23. }

Szerző:  The Peace [2017.11.08. 19:17 ]
Hozzászólás témája:  Re: SQL Query

JohanCorn írta:
Üdv!

Adódott egy probléma amit teljesen nem értek. Van egy SQL Parancsom, ami PhpMyAdmin-ban futtatva ad vissza értéket, de ha a Plugin-omon keresztül próbálok elérni nem történik semmi.

Valaki esetleg lát hibát benne?

  1. public sql_load_users_rank()
  2. {
  3.     new Query[1024] = EOS;
  4.     new Len = 0;
  5.    
  6.     Len += formatex(Query[Len], charsmax(Query) - Len, "SET @i=0; SELECT t.rank, t.Id FROM ( SELECT @i:=@i+1 AS rank, Id, Online FROM nexon_furien_register ORDER BY Stats0 DESC ) t WHERE t.Online = 1;");
  7.  
  8.        
  9.     SQL_ThreadQuery(g_SqlTuple, "sql_load_users_rank_thr", Query);
  10. }
  11.  
  12. public sql_load_users_rank_thr(FailState, Handle:Query, Error[], Errcode, xData[], DataSize, Float:Queuetime)
  13. {
  14.     client_print(0, print_console, "Start");
  15.        
  16.     while ( SQL_MoreResults(Query) )
  17.     {
  18.         client_print(0, print_console, "OK");
  19.        
  20.         SQL_NextRow(Query);
  21.     }
  22.    
  23.     client_print(0, print_console, "End");
  24. }


PL a START lefut? vagy valami ? :D

Vagy már beolvasni se olvassa?

Szerző:  JohanCorn [2017.11.09. 14:23 ]
Hozzászólás témája:  Re: SQL Query

De, az a rész ami a visszaérkezett rész előtt és után áll megjelenik. A plugin adatbázis alapján 4db OK! részt kellene írjon a konzolba, de nem csinálja. A forrás szerintem hibátlan, arra gondoltam, hogy a parancssor túlságosan összetett és nem tudja kezelni, de el kellett döntenem, hogy a szervert, vagy az adatbázis terhelem a helyezettek kalkulálásával. Remélem valaki tapasztalt már hasonlót és tud segíteni, de ha nem, akkor majd betöltök 30.000 sort és azokat rendezem érték alapján.

Szerző:  JohanCorn [2017.11.09. 17:08 ]
Hozzászólás témája:  Re: SQL Query

A probléma forrása egyszerű. Jómagam két parancsot küldök és értéknek csak az elsőt kapom vissza. Ezt sajnos most AmxModX-en nem tudom kiküszöbölni. PHP-n keresztül már sikerült megoldanom egy egyszerű kóddal, de ilyet nem találok ide illően. Ötlet?

Szerző:  undisputed [2017.11.28. 13:06 ]
Hozzászólás témája:  Re: SQL Query

Szia.

Talán így többet látsz :)

  1. public sql_load_users_rank_thr(FailState, Handle:Query, Error[], Errcode, xData[], DataSize, Float:Queuetime)
  2. {
  3.     if(FailState == TQUERY_CONNECT_FAILED){ set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!"); return; }
  4.     else if(FailState == TQUERY_QUERY_FAILED){ set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!"); return; }
  5.     if(Errcode) { log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error); return; }
  6.     client_print(0, print_console, "Start");
  7.        
  8.     while ( SQL_MoreResults(Query) ) {
  9.         client_print(0, print_console, "OK");
  10.         SQL_NextRow(Query);
  11.     }
  12.     client_print(0, print_console, "End");
  13. }

Szerző:  JohanCorn [2017.11.29. 13:40 ]
Hozzászólás témája:  Re: SQL Query

undisputed írta:
Szia.

Talán így többet látsz :)

  1. public sql_load_users_rank_thr(FailState, Handle:Query, Error[], Errcode, xData[], DataSize, Float:Queuetime)
  2. {
  3.     if(FailState == TQUERY_CONNECT_FAILED){ set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!"); return; }
  4.     else if(FailState == TQUERY_QUERY_FAILED){ set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!"); return; }
  5.     if(Errcode) { log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error); return; }
  6.     client_print(0, print_console, "Start");
  7.        
  8.     while ( SQL_MoreResults(Query) ) {
  9.         client_print(0, print_console, "OK");
  10.         SQL_NextRow(Query);
  11.     }
  12.     client_print(0, print_console, "End");
  13. }


Bizányára már te is észrvetetted, hogy az általad csatolt kiegészítést egyébként hibás. Ha FailStat-et állítsz be, akkor az deaktiválja a plugint. Ami nem is lenne rossz, ha a hibakódot nem ez után akarnád kiírattatni Amx Log-ként.

Elnézést viszont, mert a hibás kód feltehetően tőlem ered. Én írtam így a korábbi forrássaimban. Az igazat megvallva viszont nekem soha nem okozott ez galibát. Mert nem volt olyan eset, hogy hibásan írtam volna meg egy SQL parancsot.

Szerző:  undisputed [2018.01.04. 05:28 ]
Hozzászólás témája:  Re: SQL Query

szia. nem volt kedvem megírni egyet így bemásoltam egy sma -ból a kódot:)

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/