MySQL Hilfe

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
  • Huhu,


    möchte meine Fraktionskassen speichern/laden.


    mysql_SetInt("kassen", "Grove", fraktionskasse[Grove], "Name", SpielerName(playerid));
    Wollte fragen was ich hier ändern muss, da es ja nicht für den Spieler ist :)



    P.S: Bin neu in Sachen MySQL^^

  • Habe es wie folgt geändert.


    Beim Speichern:


    mysql_SetInt("kassen", "Grove", fraktionskasse[Grove], "Name", fraktionskasse[Grove]);


    Beim Laden:


    fraktionskasse[Grove] = mysql_GetInt("kassen", "Grove", "Name", fraktionskasse[Grove]);


    Und er ladet weder noch speichert er.

  • Ja, das. Gut, du hast die Tabelle falsch aufgebaut. So macht man das nicht. Erstelle drei Spalten:


    ID (auto Increment)
    Name
    Geld


    Dann kannst du für jede Fraktion eine Zeile erstellen, dort wird dann der Name eingetragen. Und dann kannst du über den Namen der Fraktion auf die Kasse (Geld) zugreifen. Sonst müsstest du ja für jede Fraktion DIE Datenbank Struktur ändern, und das macht man nicht.



    mysql_SetInt("kassen", "Geld", fraktionskasse[Grove], "Name", FraktionsName);

  • Ok ich bekomm das irgendwie nicht hin gerade. Tut mir leid.


    Meine SQL die ich Importiere:


    DROP TABLE IF EXISTS `kassen`;
    CREATE TABLE `kassen` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `Name` varchar(24) NOT NULL,
    `Grove` int(11) NOT NULL DEFAULT '0',
    `Ballas` int(11) NOT NULL DEFAULT '0',
    `Russen` int(11) NOT NULL DEFAULT '0',
    `Vagos` int(11) NOT NULL DEFAULT '0',
    `Rifa` int(11) NOT NULL DEFAULT '0',
    `Yakuza` int(11) NOT NULL DEFAULT '0',
    `Triaden` int(11) NOT NULL DEFAULT '0',
    `LCN` int(11) NOT NULL DEFAULT '0',
    `Staats` int(11) NOT NULL DEFAULT '0',


    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;


    Und meine stocks:


    stock SaveKassen()
    {
    mysql_SetInt("kassen", "Geld", fraktionskasse[Grove], "Name", "Grove");
    }


    stock LoadKassen()
    {
    fraktionskasse[Grove] = mysql_GetInt("kassen", "Grove", "Name", "Grove");
    }


    Nicht zu vergessen mein Enum:


    enum Kassen
    {
    Grove,
    Ballas,
    Russen,
    Vagos,
    Rifa,
    Yakuza,
    Triaden,
    LCN,
    Staats
    }
    new fraktionskasse[Kassen];

  • Mit dem Query sollte es klappen:


    SQL
    DROP TABLE IF EXISTS `kassen`;
    CREATE TABLE `kassen` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `Name` varchar(24) NOT NULL,
        `Geld` int(11) NOT NULL DEFAULT '0',
        PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
    INSERT INTO `kassen` (`Name`) VALUES ('Grove'), ('Ballas'), ('Russen'), ('Vagos'), ('Rifa'), ('Yakuza'), ('Triaden'), ('LCN'), ('Staats');


    Dann hättest du für jede Fraktion eine Zeile, das macht dich später flexibler, wenn du etwas hinzufügen willst.