Offline |
|
|
Csatlakozott:2021.03.16. 10:28 Hozzászólások:44 Megköszönt másnak: 6 alkalommal Megköszönték neki: 3 alkalommal
|
DexoN írta: (Edit: a \ jeleket nem én adom hozzá, a codebox bugos szerintem úgyhogy azokat majd töröld ki, ha innen másolod ki) A hiba ez lesz: Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS \\\\\\`teszt_reg\\\\\\`"); Len += formatex(Query[Len], charsmax(Query)-Len, "(\\\\\\`Nev\\\\\\` varchar(32) NOT NULL, "); Len += formatex(Query[Len], charsmax(Query)-Len, "\\\\\\`Felhasznalonev\\\\\\` varchar(32) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "\\\\\\`Jelszo\\\\\\` varchar(32) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "\\\\\\`Regisztralt\\\\\\` int(11) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "\\\\\\`AutoB\\\\\\` int(11) NOT NULL,");
Utolsó sor, ahol mindig ')' - el kell zárni, tehát: Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS \\\\\\`teszt_reg\\\\\\` "); Len += formatex(Query[Len], charsmax(Query)-Len, "(\\\\\\`Nev\\\\\\` varchar(32) NOT NULL, "); Len += formatex(Query[Len], charsmax(Query)-Len, "\\\\\\`Felhasznalonev\\\\\\` varchar(32) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "\\\\\\`Jelszo\\\\\\` varchar(32) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "\\\\\\`Regisztralt\\\\\\` int(11) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "\\\\\\`AutoB\\\\\\` int(11) NOT NULL)");
1-2 apróság: Az alábbi részt mindenképp cseréld ki erre a kódra, mert ha így kezeled az SQL handle-t nem fogod tudni mi a probléma, és lehal az egész szerver. (mivel előbb állítja le a plugint, minthogy logolná a hibát) public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) { if(FailState == TQUERY_CONNECT_FAILED) set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!"); else if(FailState == TQUERY_QUERY_FAILED) set_fail_state("Query Error"); if(Errcode) log_amx("[HIBA*] HIBAT DOBTAM: %s",Error); }
-> public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) { if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) { log_amx("MYSQL Hiba: %s", Error); return; } }
És ezt érdemes minden SQL handle elejére bemásolni, vagy létrehozni rá egy külön funkciót és lekérdezni. Valamint ha megakarod kímélni a szervered, ne így használd: static Query[10048]. Eddig egyik modomhoz sem kellett ekkora tömb, ezeknek a méretét mindig a karakterek max lehetséges számát megbecsülve / megszámolva érdemes megadni (jobb esetben a 2 legközelebbi hatványára), illetve a static-ot ezekben a funkciókban felesleges használni, tehát: new Query[2048] (jelen esetben amúgy elég lenne kb. new Query[256] is) Hálásan köszönöm a segítséged! Ma is tanultam valami, ezer pacsi, ment a gomb. Ui: Illetve van egy olyan problémám, hogy hiába jelentkezek be, és jön is az üzenet róla ugyan úgy azt jelzi mintha nem is lennék bejelentkezve. Ez lehet attól mert nem adtam hozzám prefixet, hogy (nem regisztrált) + az alapot, hogy már be van lépve? Esetleg egy ellenőrző futtatást hagytam ki belőle? _________________ [steam]MyNameIsTesco[/steam]
Ha tudtam valamiben segíteni köszönd meg:)
|
|