Szerző Téma: Run time error 7: "Stack underflow"  (Megtekintve 985 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Dátum: 2014. február 14. - 10:46:19 »
0 Show voters
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ó.

Nem elérhető TheDon

  • 159
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #1 Dátum: 2014. február 14. - 11:23:59 »
0 Show voters
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.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #2 Dátum: 2014. február 14. - 12:12:10 »
0 Show voters
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.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #3 Dátum: 2014. február 14. - 12:19:51 »
0 Show voters
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])); 

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #4 Dátum: 2014. február 14. - 13:24:14 »
0 Show voters
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.
« Utoljára szerkesztve: 2014. február 14. - 14:37:18 írta tudvari »

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #5 Dátum: 2014. február 14. - 19:40:31 »
0 Show voters
Ne datetime típusú legyen az UtolsoBejelentkezes oszlop. Legyen varchar(64).

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #6 Dátum: 2014. február 14. - 20:22:29 »
0 Show voters
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

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #7 Dátum: 2014. február 15. - 18:45:05 »
0 Show voters
Szerintem így jobb..
 
UPDATE `Bejelentkezesek` SET UtolsoBejelentkezes = CURRENT_TIMESTAMP WHERE Nev = \'[kiraly]Dfoglalo\';

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #8 Dátum: 2014. február 16. - 18:41:55 »
0 Show voters
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.

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #9 Dátum: 2014. február 16. - 19:14:52 »
0 Show voters
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.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Run time error 7: "Stack underflow"
« Válasz #10 Dátum: 2014. február 18. - 15:38:01 »
0 Show voters
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.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal