MySQL es kann nur 1 Account erstellt werden?

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
  • Hey,
    seitdem ich mit MySQL arbeite, kann bei der Registrierung nur Maximal 1 Account erstellt werden, mehr geht nicht.
    Ich Registriere mich, logge mich aus, wieder ein -> "Es existiert kein Account."
    Sobald ich aber den 1 Account lösche, erstellt er einen neuen Account und speichert auch alles.
    Hier mein Stock um einen Account zu erstellen.


    stock CreateAccount(playerid, pass[])
    {
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    mysql_real_escape_string(pass,pass);
    format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, pass);
    mysql_query(query);
    SetPVarInt(playerid,"skin",45);
    return true;
    }

  • versuch mal damit:



    stock CreateAccount(playerid, pass[])
    {
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    mysql_real_escape_string(pass,pass);
    format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, pass);
    mysql_query(query);
    return true;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • public OnPlayerConnect(playerid)
    {
    if(IsPlayerNPC(playerid))return 1;
    if(GetPVarInt(playerid,"loggedin") == 0)
    {
    if(mysql_CheckAccount(playerid) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Es wurde noch kein Account in der Datenbank gefunden.\nBitte registriere dich mit deinem gewünschten Passwort.","Register","Exit");
    }
    else if(mysql_CheckAccount(playerid) == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde in der Datenbank von City-Gangfight gefunden.\nBitte gebe dein Passwort ein.","Login","Abbrechen");
    }
    }
    return 1;
    }


    stock mysql_CheckAccount(playerid)
    {
    new Query[128],Name[MAX_PLAYER_NAME],count;
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name, Name);
    format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", Name);
    mysql_query(Query);
    mysql_store_result();
    count = mysql_num_rows();
    mysql_free_result();
    return count;
    }


    Ich finde keinen Fehler, ihr eventuell?

  • Versuch es mal so:

    public OnPlayerConnect(playerid)
    {
    if(IsPlayerNPC(playerid))return 1;
    SetPVarInt(playerid,"loggedin", 0);
    if(!mysql_CheckAccount(playerid))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Es wurde noch kein Account in der Datenbank gefunden.\nBitte registriere dich mit deinem gewünschten Passwort.","Register","Exit");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde in der Datenbank von City-Gangfight gefunden.\nBitte gebe dein Passwort ein.","Login","Abbrechen");
    }
    return 1;
    }


    MFG Piet

  • Edit:


    Ich habe es nun hinbekommen, ich hatte bei Passwort dieses komische dingens an ( dieser Schlüssel ), wobei nun jeder Spieler nur 1 einzigartiges Passwort haben kann, ich habe bei jedem Account dasselbe benutzt, daher ging es nicht.
    Ich habe nun den Schlüssel beim Namen gemacht, also das es halt nur 1 einzigartigen Namen gibt.


    Gruß,


    vielen Dank für eure Hilfe.


    Zitat von Blackace: ( http://forum.sa-mp.de/san-andr…stellt-keine-neuen-zeilen )


    Mach mal dein AUTO_INCREMENT an,
    du kannst keine Pirmärschlüssel nicht 2x den gleichen Wert zuweisen lassen

    Einmal editiert, zuletzt von roOlling ()