MySQL Konten Problem

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
  • Tach Community,


    ich sitze seit längerem an einem Konten Systen. Der Spieler soll sich InGame Konten erstellen können. Das Problem ist dass er nicht richtig in die Tabelle schreibt.


    So schreibt er in die Datenbank:


    So erstellt er die Konten:
    if(dialogid == DIALOG_KONTOERST)
    {
    if(response)
    {
    if(strlen(inputtext) < 4 || strlen(inputtext) > 4 || strlen(inputtext) == 0)
    {
    SendClientMessage(playerid, COLOR_LIGHTGREY, "Bitte gebe eine 4-stellige Geheimzahl ein.");
    ShowPlayerDialog(playerid, DIALOG_KONTOERST, 1, "Kontoerstellung","Bitte gebe nun deine 4-stellige Geheimzahl ein und bestätige mit der Enter Taste.","Bestätigen","Abbrechen");
    }
    else
    {
    KontoCounter++;
    new kontoID = KontoCounter, query[280], string[128];
    Konto[kontoID][kID] = kontoID;
    Konto[kontoID][kNummer] = random(99999);
    Konto[kontoID][kPin] = strval(inputtext);
    format(query, sizeof(query), "INSERT INTO konten (ID, Nummer, Besitzer, Pin) VALUES ('%i', '%i', '%s', '%i')", Konto[kontoID][kID], Konto[kontoID][kNummer], SpielerName(playerid), Konto[kontoID][kPin]);
    mysql_query(query);
    format(string, 128, "Du hast erfolgreich ein Konto erstellt. Pin = %i Kontonummer = %i", Konto[kontoID][kPin], Konto[kontoID][kNummer]);
    SendClientMessage(playerid, COLOR_WHITE, string);
    SaveKonten();
    LoadKonten();
    }
    }
    }


    So speichert und lädt er die Konten:
    stock SaveKonten()
    {
    for(new i; i <= KontoCounter; i++)
    {
    mysql_SetInt("konten", "Nummer", Konto[i][kNummer], "ID", Konto[i][kID]);
    mysql_SetInt("konten", "Pin", Konto[i][kPin], "ID", Konto[i][kID]);
    mysql_SetString("konten", "Besitzer", Konto[i][kBesitzer], "ID", Konto[i][kID]);
    mysql_SetInt("konten", "Bestand", Konto[i][kBestand], "ID", Konto[i][kID]);
    }
    return 1;
    }
    stock LoadKonten()
    {
    mysql_query("SELECT ID FROM konten");
    mysql_store_result();
    KontoCounter = mysql_num_rows();
    new str2[256], ID, newb;
    while(mysql_fetch_row(str2))
    {
    sscanf(str2, "p<|>i",ID);
    Konto[newb][kID] = ID;
    newb += 1;
    }
    mysql_free_result();
    for(new i=1; i <= KontoCounter; i++)
    {
    Konto[i][kNummer] = mysql_GetInt("konten", "Nummer", "ID", Konto[i][kID]);
    Konto[i][kPin] = mysql_GetInt("konten", "Pin", "ID", Konto[i][kID]);
    format(Konto[i][kBesitzer], MAX_PLAYER_NAME, mysql_GetString("konten", "Besitzer", "ID", Konto[i][kID]));
    Konto[i][kBestand] = mysql_GetInt("konten", "Bestand", "ID", Konto[i][kID]);
    }
    return true;
    }


    Das Problem ist dass in beiden Fällen FlasH der Besitzer ist und der Pin auch in beiden Fällen 6666 ist.


    E: Nun schreibt er gar nicht mehr in die DB.
    E: Mal geupdatet.
    E: Weiteres hinzugefügt

    3 Mal editiert, zuletzt von Cooper ()