Problem beim schreiben auf MySQL DB

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
  • Ich habe ein Problem, und zwar dass sich bei meinem MySQL System die Spieler Daten laden lassen aber nichit speichern lassen.


    Codes:


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    mysql_SetInt("samp_acc", "job", Spieler[playerid][job], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "autoschein", Spieler[playerid][autoschein], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "motoradschein", Spieler[playerid][motoradschein], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "flugschein", Spieler[playerid][flugschein], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "bootschein", Spieler[playerid][bootschein], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "bank", Spieler[playerid][bank], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "wanted", GetPlayerWantedLevel(playerid), "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "skin", Spieler[playerid][skin], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "sAdminLevel", Spieler[playerid][sAdminLevel], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "Rang", Spieler[playerid][Rang], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "Fraktion", Spieler[playerid][Fraktion], "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "Geld", GetPlayerMoney(playerid), "Name", SpielerName(playerid));
    mysql_SetInt("samp_acc", "Score", GetPlayerScore(playerid), "Name", SpielerName(playerid));
    }
    }
    return 1;
    }


    Und der mysql_SetInt stock:


    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    Gruß


    Schizopriest

  • Dein Code bringt nichts ohne die Datenbank zu sehen. Denn deine Datenbank könnte theoretisch auch "meinedatenbank_nixmitsamp" heißen und deswegen nichts abspeichern. Man könnte dann ja ewig im Quelltext nach Fehlernsuchen auch wenn da keine sind.
    Übrigens würde ich nicht immer SpielerName(playerid) aufrufen.Ließ den Spielernamen einmalig aus und speicher es in einer Variable,die du dann an Stelle von SpielerName(playerid) überall bei SavePlayer verwendest.

  • Ich hab das tutorial auch gemacht
    nur bei mir ist das Problem das er nur den namen und das Passwort abspeichert nach den reloggen speichert der mir immer -1 in die Tabelle rein aber laut debug ist alles ok


    hatte zwar ein Thema offen aber da hilft keiner mehr