GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: tudvari - 2014. február 14. - 10:46:19

Cím: Run time error 7: "Stack underflow"
Írta: tudvari - 2014. február 14. - 10:46:19
Sziasztok!
Nem enged bejelentkezni a fenti hiba miatt.
 
CMySQLHandler::Query(UPDATE Jatekosok SET UtolsoBejelentkezes\'2014-2-14 10:37:29\' WHERE Nev=\'Az_Igazi_Tudvari\') - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\'2014-2-14 10:37:29\' WHERE Nev=\'Az_Igazi_Tudvari\'\' at line 1)

 

            new ev,ho,nap,ora,perc,mp;
            gettime(ora,perc,mp);
            getdate(ev,ho,nap);
            format(ido,sizeof(ido),\"%d-%d-%d %d:%d:%d\",ev,ho,nap,ora,perc,mp);
   format(astring, sizeof(astring), \"UPDATE Jatekosok SET UtolsoBejelentkezes=\'%s\' WHERE Nev=\'%s\'\",ido,nev);
   mysql_query(astring);

 
Elõre is köszönöm a segítséget.
Ui.: Az utóbbi bejelentkezésnél már nem volt probléma.Szóval szerintem néha valami miatt rossz,néha jó.
Cím: Run time error 7: "Stack underflow"
Írta: TheDon - 2014. február 14. - 11:23:59
Idézetet írta: tudvari date=1392371179\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"46501\" data-ipsquote-contentclass=\"forums_Topic
format(astring, sizeof(astring), \"UPDATE `Jatekosok` SET `UtolsoBejelentkezes`=\'%s\' WHERE `Nev`=\'%s\'\",ido,nev);
 
Nem biztos de próbáld így. Nekem is változó mindig hogy hogyan kell jelölnöm.
Cím: Run time error 7: "Stack underflow"
Írta: tudvari - 2014. február 14. - 12:12:10
Amúgy az eddigi hiba megoldódott,most új problémám van.
 
format(utolso,sizeof(utolso),\"%s\",strval(field[149])); 
format(astring,sizeof(astring),\"Utolsó bejelentkezésed: %s\",utolso);

 
És ilyen fura karaktereket ír ki.És emiatt nem megy ez se:
 
format(astring, sizeof(astring), \"INSERT INTO Bejelentkezesek (Nev,Datum,UtolsoBejelentkezes) VALUES (\'%s\',\'%s\',\'%s\')\", nev,ido, utolso);

 
datetime típusúak.
Cím: Run time error 7: "Stack underflow"
Írta: Dfoglalo - 2014. február 14. - 12:19:51
Ha strvalba teszed, akkor %d-t kell megadni. De lehet, hogy úgy sem lesz jó, mert a date az nem integer.
 
format(utolso,sizeof(utolso),\"%d\",strval(field[149])); 
Cím: Run time error 7: "Stack underflow"
Írta: tudvari - 2014. február 14. - 13:24:14
CMySQLHandler::Query(INSERT INTO Bejelentkezesek (Nev,Datum,UtolsoBejelentkezes) VALUES (\'Az_Igazi_Tudvari\',\'2014-2-14 13:18:58\',\'2014-02-14 13:10:5) - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\'2014-02-14 13:10:5\' at line 1)

 

format(utolso,sizeof(utolso),\"%s\",field[149]);

 

format(astring, sizeof(astring), \"INSERT INTO Bejelentkezesek (Nev,Datum,UtolsoBejelentkezes) VALUES (\'%s\',\'%s\',\'%s\')\", nev,ido, utolso);

 
És nem is megy tovább a bejelentkezés.Az adatok betöltési elõtte van,de az utána lévõ kiírások,spawnolások nem futnak le.
Update: kiszedtem az UtolsoBejelentkezest az INSERT INTO-ból és minden mûködik.Bár nem tudom miért nem jó.
 
format(astring,sizeof(astring),\"Utolsó bejelentkezésed: %s\",utolso);

 
Ez tökéletesen kiírja,de ha berakom az insert intoba akkor egyszerûen csak újraindul a szerver,nem fut tovább a dialog stb.. mysql logban sincs semmi.
Cím: Run time error 7: "Stack underflow"
Írta: Pedró - 2014. február 14. - 19:40:31
Ne datetime típusú legyen az UtolsoBejelentkezes oszlop. Legyen varchar(64).
Cím: Run time error 7: "Stack underflow"
Írta: tudvari - 2014. február 14. - 20:22:29
Lehet,hogy megoldaná,de én kíváncsi vagyok,hogy a Jatekosok táblában tökéletesen frissíteni a datetime típusú oszlopot ezzel a módszerrel de itt miért nem? :D
Cím: Run time error 7: "Stack underflow"
Írta: Pedró - 2014. február 15. - 18:45:05
Szerintem így jobb..
 
UPDATE `Bejelentkezesek` SET UtolsoBejelentkezes = CURRENT_TIMESTAMP WHERE Nev = \'[kiraly]Dfoglalo\';
Cím: Run time error 7: "Stack underflow"
Írta: tudvari - 2014. február 16. - 18:41:55
De az utolsóBejelentkezés nem a jelenlegi idõ. A dátum a jelenlegi idõ,az utolsó bejelentkezés pedig egy datetime kiolvasva a meglévõ sorból.
Cím: Run time error 7: "Stack underflow"
Írta: Pedró - 2014. február 16. - 19:14:52
Ez a kód azt eredményezi, hogy a táblában az utolsóbejelentkezés oszlop értékét a jelenlegivé varázsolja. Lekérdezés ugyanaz maradhat.
Cím: Run time error 7: "Stack underflow"
Írta: tudvari - 2014. február 18. - 15:38:01
De nekem épp az,hogy nem a jelenlegit kell berakni,hanem egy másik mezõ értékét beírni ebbe a mezõbe is.