Tabellen werden nicht angelegt

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
  • Guten Tag,


    Meine Tabellen von Script aus werden nicht in der Datenbank eingetragen.


    CreateTables()
    {
    new query[1024];
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `script_accounts` (");
    format(query, sizeof(query), "%s `ID` int(11) NOT NULL PRIMARY KEY,", query);
    format(query, sizeof(query), "%s `Name` varchar(64),", query);
    format(query, sizeof(query), "%s `Passwort` varchar(128) NOT NULL,", query);
    format(query, sizeof(query), "%s `IP` varchar(128) NOT NULL,", query);
    format(query, sizeof(query), "%s `Admin` int(2) NOT NULL DEFAULT '0',", query);
    format(query, sizeof(query), "%s) ENGINE=InnoDB DEFAULT CHARSET=latin1;", query);
    mysql_tquery(Handle, query);
    return 1;
    }


    Unter OnGameModeInit ist, "CreateTables();" vorhanden.


    Wo liegt der Fehler ?

  • Jeffry:


  • Danke Jeffry: funktioniert nun.


    aber wenn ich auf den Server joine erstellt er keinen Account.


    if(dialogid == DIALOG_REGISTER)
    {
    if(!response)
    {
    return Kick(playerid);
    }
    format(key, 50, "%s", inputtext);
    mysql_escape_string(Spielername(playerid), Spielername(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "INSERT INTO (Name, Passwort) VALUES ('%s',MD5('%s')", Spielername(playerid), key);
    mysql_tquery(Handle, query);
    SendClientMessage(playerid, -1, "Dein Account wurde erstellt.");
    GivePlayerMoney(playerid, 15000),SetPlayerScore(playerid, 1);
    }

  • format(query, sizeof(query), "INSERT INTO (Name, Passwort) VALUES ('%s',MD5('%s')", Spielername(playerid), key);
    zu:
    format(query, sizeof(query), "INSERT INTO script_accounts (Name, Passwort) VALUES ('%s',MD5('%s'))", Spielername(playerid), key);

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • format(query, sizeof(query), "INSERT INTO script_accounts (Name, Passwort) VALUES ('%s',MD5('%s'))", Spielername(playerid), key);


    Dann stimmt es aber. :D
    Hast du das aus einem Tutorial? Wenn ja, kannst du mir den Link schicken? Oder wo hast du den Code her? Den habe ich schon ein paar mal gesehen, mit genau den gleichen Fehlern. Da fehlt der Tabellenname und eine Klammer am Ende.

  • Jeffry:


    Nun will er mein Passwort (123456) nicht erkennen ...


    if(dialogid == DIALOG_LOGIN)
    {
    if(!response){return Kick(playerid);}
    format(key, 50, "%s", inputtext);
    mysql_escape_string(Spielername(playerid), Spielername(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "SELECT * FROM script_accounts WHERE Name = '%s' AND Passwort = '%s'", Spielername(playerid), key);
    mysql_tquery(Handle, query, "OnPasswordResponse", "i", playerid);
    }


    Ja das ist auf einem Tutorial denn link editiere ich sofort.

  • format(query, sizeof(query), "SELECT * FROM script_accounts WHERE Name = '%s' AND Passwort = '%s'", Spielername(playerid), key);
    zu:
    format(query, sizeof(query), "SELECT * FROM script_accounts WHERE Name = '%s' AND Passwort = MD5('%s')", Spielername(playerid), key);

  • Jeffry:


    Danke nun funktioniert alles :)


    Nun meine Frage beim LoadPlayer wird die Virable von Eingeloggt auf "1" gestellt, und wenn der Spieler sich ausloggt auf null.


    Bevor er den Spieler speichert will ich abfragen ob der Spieler auch eingeloggt ist.


    ist dies richtig wenn ich das so mache ?


    if(SpielerInfo[playerid][pEingeloggt] != 0)return 1;

  • Jeffry: Manniac:


    so sieht mein Speichern aus.


    Spoiler anzeigen
    stock SpielerSpeichern(playerid)
    {
    new query[256];
    if(SpielerInfo[playerid][pEingeloggt] != 0)return 1;
    mysql_escape_string(Spielername(playerid), Spielername(playerid));
    format(query, sizeof(query), "UPDATE script_accounts SET Geld = '%i', Level= '%i' WHERE Name = '%s'", GetPlayerMoney(playerid), GetPlayerScore(playerid), Spielername(playerid));
    mysql_tquery(Handle, query);
    return 1;
    }