MySQL-Problem | Speicherung

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
  • Schönen guten Abend.
    Hab hier ein kleines Problemchen an dem ich hänge.
    Und zwar geht es um die Speicherung in meine MySQL-Datenbank.


    Folgendes:
    Zu Beginn wird man Registriert, der Spieler-Account wird in der Datenbank erstellt mit dem Passwort und dem Accountnamen.
    Wenn dies abgeschlossen ist, soll man seinen RP-Namen in einem Input-Dialog eingeben, soweit so gut.
    Hier kommt das Problem.
    Wenn ich den RP-Namen abspeichere erstellt er ihn in eine neue Zeile anstatt in die, wo sich der Account-Name und das Passwort befindet. oÓ


    Wüsstet ihr da weiter? Denn ich bin etwas ratlos.


    Account-Erstellung:

    mysql_escape_string(inputtext, passwort, dbhandle);
    format(query, sizeof(query), "INSERT INTO user (username,password) VALUES ('%s',MD5('%s'))",name,passwort);
    mysql_function_query(dbhandle, query, false, "", "");


    RP-Namen Eintrag:

    format(query, sizeof(query), "INSERT INTO user (charakter) VALUES ('%s')",rpName);
    mysql_function_query(dbhandle, query, false, "", "");
    format(str, sizeof(str), "Willkommen!\nDu hast dich mit deinem Charakter '%s' soeben eingeloggt.\nViel Spaß beim Spielen wünscht dir\ndas San Andreas:County-Team.",rpName);
    ShowPlayerDialog(playerid, DIALOG_WILLKOMMEN, DIALOG_STYLE_MSGBOX, "SA:County - Charakter", str, "Spielen", "");


    Würde mich über eure Hilfe freuen. :S

  • Wieso speicherst du das Passwort nicht zwischenzeitig und machst aus dem ganzen eine Query?
    Naja so gehts auch, allerdings erstellt "INSERT INTO" eine neuen User, schau dir mal "UPDATE" an, das hilft dir in dem Falle mehr. ;)


    Beispiel-Query:
    new query[64];
    format(query, 128, "UPDATE `user` SET `charakter` = '%s' WHERE `username` = '%s'", charaktervariable, usernamevariable);

  • Wieso speicherst du das Passwort nicht zwischenzeitig und machst aus dem ganzen eine Query?


    Wäre dies Ressourcensparender? Nur müsste man es dann doch in eine Globale Variable speichern oder nicht?


    schau dir mal "UPDATE" an, das hilft dir in dem Falle mehr.


    Ich hab mich mal eben an ein erneuten Versuch gewagt, aber es passiert immer noch das selbe in der Datenbank. (Siehe Anhang)

  • Ja das es in einer zweiten Zeile angelegt wird war mir klar, das ist weil du einen zweiten Account somit erstellt hast. :D
    Globale Variable nicht unbedingt, kann auch nur ein PVar sein den du dannach wird löschst, zeig mir mal deinen aktuellen Code.