MySQL Register fehler

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 Abend,


    Ich habe ein Problem. Und zwar habe ich eine Registerfunktion erstellt bei der es in einer MySQL Tabelle den Spielernamen und das Passwort beim Registrieren einspeichert.
    Nur wenn ich auf meinen Server gehe und mich registriere und danach auf die Datenbank schaue, dann sehe ich zwar, dass der Spielername richtig eingetragen wurde aber bei Passwort nicht das eingegebene Passwort steht sondern "&s".


    Hier alles was dazu gehört (Registerfunktion läuft über einen Dialog):


    Ganz oben im Script (Unter den Includes):
    #define Dialog_Register 1


    Bei "OnPlayerConnect" steht:
    //Register & Login
    new Spielername[MAX_PLAYER_NAME],query[128];
    GetPlayerName(playerid,Spielername,sizeof(Spielername));
    format(query,sizeof(query),"SELECT ID FROM Accounts WHERE Spielername='%s'",Spielername);
    mysql_function_query(MySQL_Verbindung,query,true,"OnUserCheck","i",playerid);
    return 1;


    Hier das bei "OnPlayerConnect" erstellte Public:
    public OnUserCheck(playerid)
    {
    new num_rows,num_flieds;
    cache_get_data(num_rows,num_flieds,MySQL_Verbindung);
    if(num_rows==0)
    {
    //Registrierung
    ShowPlayerDialog(playerid,Dialog_Register,DIALOG_STYLE_PASSWORD,"Registrierung","Passwort eingeben\n{FF0000}(Text wird noch überarbeitet)","Registrieren","Abbrechen");
    }
    else
    {
    //Login
    }
    return 1;
    }


    Und hier das was bei OnDialogResponse steht:
    if(dialogid==Dialog_Register)
    {
    if(response)
    {
    new Spielername[MAX_PLAYER_NAME],query[128],Passwort[24];
    GetPlayerName(playerid,Spielername,sizeof(Spielername));
    if(strlen(inputtext)>3)
    {
    //Registrierungsfunktion
    mysql_escape_string(inputtext,Passwort,MySQL_Verbindung);
    format(query,sizeof(query),"INSERT INTO accounts(spielername,passwort) VALUES('%s','%s') ",Spielername,Passwort);
    mysql_function_query(MySQL_Verbindung,query,false,"","");
    }
    else
    {
    //Passwort zu kurz
    SendClientMessage(playerid,Rot,"Das eingegebene Passwort war zu kurz(Mindestens 3 Zeichen)!");
    ShowPlayerDialog(playerid,Dialog_Register,DIALOG_STYLE_PASSWORD,"Registrierung","Passwort eingeben\n{FF0000}(Text wird noch überarbeitet)","Registrieren","Abbrechen");
    }
    }
    else
    {
    //Register Dialog Abgebrochen
    Kick(playerid);
    return 1;
    }
    }


    Wie bekomme ich nun hin, dass das gewünschte Passwort auch richtig in der MySQL Tabelle steht ? Immer wenn ich das Passwort eingebe, wird in die Tabelle nur "&s" eingetragen.


    Mit freundlichen Grüßen:
    HyperSkillzZ ak Matthias