Name wird nicht in der MySQL-Datenbank gespeichert

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



    Ich habe seit ein paar Tagen das Problem, das ich auf meinem Testserver, wenn ich einen neuen Account erstelle, er nichts speichert.
    Sprich: Ich erstelle einen Account un in der Datenbank werden nur ID und alle Standartwerte auf 0 angezeigt.


    Das Problem liegt daran, dass man nicht ohne den Namen und das Passwort man sich nicht einloggen kann.
    Um sich aber einuloggen,wobei es funktioniert müsste ich jede Person die auf den Testserver connecten will, dort auch mit Namen und Passwort versehen.


    Dialog zum Registrieren(eher Irrelevant):


    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,blau,"Du hast den Vorgang abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,blau,"Das Passwort war nicht lang genug.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,MD5_Hash(inputtext));
    return 1;
    }
    }
    }


    Und den stock:


    stock Register(playerid, key[])
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(GetPlayerId(playerid) < 1)
    {
    new id = GetPlayerIdFromName(SpielerName(playerid));
    if(id != -1)
    return SendClientMessage(playerid, rot, "Spieler existiert bereits!");
    id = SqlCreate();
    SetPlayerId(playerid, id);
    }
    SqlSet(playerid,"name",name);
    SqlSet(playerid,"passwort",key);
    SendClientMessage(playerid, blau, "Erfolgreich registriert.");
    SetPlayerScore(playerid, 0);
    SetPVarInt(playerid, "loggedin", 1);
    return 1;
    }


    Was ist dort, der fehler das er nichts saved?


    MfG


    me

    Back to the roots!

  • stock SqlSet(id, what[], value[])
    {
    new query[128];
    mysql_real_escape_string(value, value);
    format(query, sizeof query, "UPDATE `user` SET `%s` = '%s' WHERE `id` = '%i' LIMIT 1;", what, value, id);
    return mysql_query(query);
    }


    so sieht es aus..

    Back to the roots!

  • Guten Abend.
    Also ich habe das wie folgt gemacht!



    Und....



    PS.: Im Scriptfiles Ordner erstellst du einen Ordner namens "Spieler".



    Mit freundlichen Grüßen,
    Capt.Mitchell


  • 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;
    }
    stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(To, To);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }
    stock mysql_SetFloat(Table[], Field[], Float: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 = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }



    stock mysql_GetString(Table[], Field[], Where[], Is[])
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    return Get;
    }


    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    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(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }


    Hier hast du mal ein paar vernünftige Stocks von Maddin, die sollten dir sicherlich weiterhelfen.

  • @ Capt.Mitchell


    Es hat nichts mit Dini zu tun!!!

    Back to the roots!