-
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ó.
-
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.
-
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.
-
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]));
-
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.
-
Ne datetime típusú legyen az UtolsoBejelentkezes oszlop. Legyen varchar(64).
-
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
-
Szerintem így jobb..
UPDATE `Bejelentkezesek` SET UtolsoBejelentkezes = CURRENT_TIMESTAMP WHERE Nev = \'[kiraly]Dfoglalo\';
-
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.
-
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.
-
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.