logs in der Datenbank werden nicht richtig angezeigt

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    Ich lasse die logs in meiner MySQL Datenbank speichern und bei Datum steht z.B nur "1908" obwohl ich möchte das es so angezeigt wird "19.08.2015"
    Ausserdem wir meine Ip auch net richtig angezeigt z.B so: "1563"
    Bei der Uhrzeit wird mir nur die Stunde angezeigt und der Benutzername ist immer "0"
    Die Connect ID ist auch nur "0"


    Hier die Codes:


    OnPlayerConnect:



    public OnPlayerConnect(playerid)
    {
    new query[128];
    TextDrawShowForPlayer(playerid, gTextDraw[0]),TextDrawShowForPlayer(playerid, gTextDraw[1]),TextDrawShowForPlayer(playerid, gTextDraw[2]);
    GetPlayerName(playerid,getPlayerName(playerid),MAX_PLAYER_NAME);
    GetPlayerIp(playerid,getPlayerIP(playerid),16);
    mysql_format(dbhandle, query, sizeof query, "SELECT * FROM `Benutzerkonten` WHERE `Benutzername`='%e'",getPlayerName(playerid));
    mysql_pquery(dbhandle, query, "@CheckUser", "i", playerid);
    LogConnect(playerid);
    return 1;
    }



    LogConnect:



    stock LogConnect(playerid)
    {
    new query[145];
    mysql_format(dbhandle, query, sizeof query, "INSERT INTO `connects` (`Datum`,`Uhrzeit`,`Benutzername`,`Benutzerip`) VALUES ('%e','%e','%e','%e')",
    gDate(), gTime(), getPlayerName(playerid), getPlayerIP(playerid));
    mysql_pquery(dbhandle, query, "", "");
    return 1;
    }



    gDate und gTime



    stock gDate(){
    new day,month,year,string[45];
    getdate(year, month, day);
    format(string, sizeof(string), "%02d.%02d.%02d", day, month, year);
    return string;
    }


    stock gTime(){
    new hour,minute,second,string[45];
    gettime(hour, minute, second);
    format(string, sizeof(string), "%02d:%02d:%02d", hour, minute, second);
    return string;
    }


  • Ich habe sie jetzt ersmal als TEXT festgelegt.
    Aber wenn ich bei den ConenctIDs AI angeben will kommt folgende meldung:


  • Beitrag von DerHazeing ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Dann hast du schon einen A_I in der Tabelle. Den musst du vorher entfernen.
    Falls es mit TEXT nicht klappt, nutze VARCHAR. Ich hatte mit MSSQL (Microsoft) schon Probleme, dass er da TEXT nicht gemocht hat.


    So ich bekomme immernoch die selbe fehlermeldung (ja habe auch varchar ausprobiert) (und habe "connects" nocmal neu erstellt)


    Selbe fehlermeldung und so sieht es aus:


  • Bei mir geht es.
    Lösche die Tabelle, falls sie existiert mal und gehen dann in den SQL Reiter.
    Füge das dort ein:

    SQL
    CREATE TABLE IF NOT EXISTS `connects` (
      `connectID` int(11) NOT NULL AUTO_INCREMENT,
      `Datum` varchar(32) NOT NULL,
      `Uhrzeit` varchar(32) NOT NULL,
      `Benutzername` varchar(32) NOT NULL,
      `Benutzerip` varchar(32) NOT NULL,
      PRIMARY KEY (`connectID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;