MYSQL Werte in Tabelle speichern

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 Community!


    Ich bin gerade dabei mein Script mit MYSQL aufzubauen.


    Meine Frage ist nur, wie ich Werte in die Tabelle Speichern kann.
    Hierbei geht es um den Wert des Steuersatzes.
    Die Tabelle heißt Steuer und die Spalte Steuersatz.


    hierbei soll mit dem Befehl /setsteuern [Steuern in %] der Steuersatz bestimmt werden.


    Nur weiß ich nicht wie ich den jetzt in die Tabelle speicher.
    Wenn ihr noch irgendwelche Angaben braucht sagt es! Ich hoffe ihr könnt mir helfen.
    MfG Simon

  • Der MySQL Befehlt lautet:



    format(query,500,"INSERT INTO 'Steuer' (Steuersatz) VALUES ('%0.2f')",steuervariable);
    mysql_query(query);


    Da du die Tabelle aber updaten möchtest, musst du folgendes machen:

    format(query,500,"UPDATE 'Steuer' SET Steuersatz='%0.2f'",steuervariable);
    mysql_query(query);


    Die Variable steuervariable ist in meinem Beispiel ein Float mit 2 Nachkommastellen.

  • Ok Also wenn ich %0.1f draus mache ist es eine Nachkomma Stelle ? H4rd_B4se


    Danke danke danke für die Antwort, kannst du mir auch sagen wie ich das auslese ? :/ dass er mir zum Beispiel als Client Message wieder den Wert ausgibt ?. Danke schonmal!




    Und eine letzte Frage hab ich noch.. Ich bin so weit, dass ich meinen Spieler laden kann.. Aber wie kann ich diese ganzen Variablen speichern?


    Spoiler anzeigen
    stock LoadPlayer(playerid)
    {
    print("loadplayer");
    //Datenbank ID
    PlayerInfo[playerid][db_id] = cache_get_field_content_int(0,"ID",dbhandle);
    //Level
    PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0,"LEVEL",dbhandle);
    SetPlayerScore(playerid,PlayerInfo[playerid][pLevel]);
    //Adminlevel
    PlayerInfo[playerid][pAdmin] = cache_get_field_content_int(0,"ALEVEL",dbhandle);
    //Geld
    PlayerInfo[playerid][pGeld] = cache_get_field_content_int(0,"BARGELD",dbhandle);
    SetPlayerMoney(playerid,PlayerInfo[playerid][pGeld]);
    PlayerInfo[playerid][pBank] = cache_get_field_content_int(0,"BANKGELD",dbhandle);
    //Eingeloggt-Nachricht
    SCM(playerid,frot,"Du hast dich erfolgreich eingeloggt");
    SpawnPlayer(playerid);
    }



    Mein Stock vom Laden.. Wie kann ich das enum jetzt speichern? bzw die werte

  • mit strcat kenn ich mich nich aus :D


    Du kannst es wie in iesem Beispiel machen



    new q1[128], q2[128], q[256];
    format(q1, sizeof(q1), "INSERT INTO tabelle");
    format(q2, sizeof(q2), "(spalte1, spalte2) VALUES ('text1', 'text2')");
    format(q, sizeof(q), "%s %s", q1, q2);
    mysql_query(q); // Oder welche Funktion du auch benutzt

  • Ok Danke an alle!


    @CrashGamesDE

    Spoiler anzeigen
    stock LoadPlayer(playerid)
    {
    print("loadplayer");
    //Datenbank ID
    PlayerInfo[playerid][db_id] = cache_get_field_content_int(0,"ID",dbhandle);
    //Level
    PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0,"LEVEL",dbhandle);
    SetPlayerScore(playerid,PlayerInfo[playerid][pLevel]);
    //Adminlevel
    PlayerInfo[playerid][pAdmin] = cache_get_field_content_int(0,"ALEVEL",dbhandle);
    //Geld
    PlayerInfo[playerid][pGeld] = cache_get_field_content_int(0,"BARGELD",dbhandle);
    SetPlayerMoney(playerid,PlayerInfo[playerid][pGeld]);
    PlayerInfo[playerid][pBank] = cache_get_field_content_int(0,"BANKGELD",dbhandle);
    //Eingeloggt-Nachricht
    SCM(playerid,frot,"Du hast dich erfolgreich eingeloggt");
    SpawnPlayer(playerid);
    }

    Spoiler anzeigen
    stock SavePlayer(playerid)
    {
    new query[500];
    format(query,sizeof(query),"UPDATE 'accounts' SET LEVEL='%d', ALEVEL='%d', BARGELD='%d', BANKGELD='%d'",GetPlayerScore(playerid), PlayerInfo[playerid][pAdmin], GetPlayerMoney(playerid), PlayerInfo[playerid][pBank]);
    mysql_query(query);
    return 1;
    }




    Ich bekomme einen Error... Bei mysql_query(query); Dass der erste Parameter falsch ist...

    2 Mal editiert, zuletzt von Simon2202 ()

  • Zeile (458) : Falscher Variablentyp als Parameter (Parameter #1)


    Code:

    Spoiler anzeigen
    stock SavePlayer(playerid)
    {
    new query[500];
    format(query,sizeof(query),"UPDATE 'accounts' SET LEVEL='%d', ALEVEL='%d', BARGELD='%d', BANKGELD='%d'",GetPlayerScore(playerid), PlayerInfo[playerid][pAdmin], GetPlayerMoney(playerid), PlayerInfo[playerid][pBank]);
    mysql_query(query); // Die Zeile
    return 1;
    }

  • stock SavePlayer(playerid)
    {
    new query[500];
    format(query,sizeof(query),"UPDATE 'accounts' SET LEVEL = '%d', ALEVEL = '%d', BARGELD = '%d', BANKGELD = '%d' WHERE Name = '%s'",
    GetPlayerScore(playerid),
    PlayerInfo[playerid][pAdmin],
    GetPlayerMoney(playerid),
    PlayerInfo[playerid][pBank],
    PlayerInfo[playerid][pName]); //Damit es weiß wo er es speichern soll.
    mysql_query(query);
    return 1;
    }

  • Das ist mein Enum:

    enum pInfo{ db_id, pName[MAX_PLAYER_NAME], pLevel, pAdmin, pGeld, pBank,
    }new PlayerInfo[MAX_PLAYERS][pInfo];


    Bei mysql_query ist das Problem, dass wenn ich den Code so habe:

    stock SavePlayer(playerid){ new query[500]; format(query,sizeof(query),"UPDATE 'accounts' SET LEVEL = '%d', ALEVEL = '%d', BARGELD = '%d', BANKGELD = '%d' WHERE ID = '%s'", GetPlayerScore(playerid), PlayerInfo[playerid][pAdmin], GetPlayerMoney(playerid), PlayerInfo[playerid][pBank], PlayerInfo[playerid][db_id]); mysql_query(query);
    return 1;}


    Dann zeigt er mir diesen Error: Falscher Variablentyp als Parameter (Parameter #1)


    Wenn ich bei mysql_query das schreibe: mysql_query(dbhandle,query);

    Dann bekomme ich keine Errors, aber mein Server auf Nitrado läd mein Script nichtmehr rein..


    H4rd_B4se  PermanenT @CrashGamesDE


    Edit: Problem selbst gelöst! Falls es wer wissen will:

    mysql_query(query);

    durch

    mysql_function_query(dbhandle,query,false,"","");

    ersetzt!

    3 Mal editiert, zuletzt von Simon2202 ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen