MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)

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
  • Und was kann mein tutorial dafür, wenn du nicht fähig bist etwas richtig zu machen?
    Aber hauptsache anstatt zu fragen warum das so sein könnte, und eventuelle an einer lösung zu suchen, deinen frust in form einer schlechten bewertung raus lassen.

    Aber was bringt es denn, wenn es dann eh ignoriert wird?
    2 Beiträge vor deinem, Frage ich dich eigentlich ganz höfflich und schildere dir mein Problem,
    jedoch wird es nicht beachtet. Daher sehe ich keinen Grund, warum man eine Frage höfflich verfassen sollte.
    Anscheind werden 'Schlechter geschilderten Fragen' / 'Blöde Kommentare' mit mehr Beachtung beschenkt,
    als normale ..

    Bin weg, Tschau! (Account kann gelöscht werden)

  • Mich würde intressieren, ob ich die Abfragen durcheinander gestalten kann, oder muss ich alle Spalten nacheinander auslesen ?


    Weil, ich habe jetzt ca 130 Spalten, aber muss davon nur 20 Auslesen, diese liegen aber ganz hinten im hintersten Bereich, muss ich jetzt alle vorherigen Spalten auslesen ?

  • So sehene jedoch meine Abfragen momentan aus :



    SpielerInfo[playerid][pFluglizenz] = mysql_GetInt("wcf1_user", "fluglizenz", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pMotorradlizenz] = mysql_GetInt("wcf1_user", "motorradlizenz", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAutolizenz] = mysql_GetInt("wcf1_user", "autolizenz", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAlter] = mysql_GetInt("wcf1_user", "alter", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pBank] = mysql_GetInt("wcf1_user", "bank", "Name", SpielerInfo[playerid][pName]);
    GivePlayerMoney(playerid,mysql_GetInt("wcf1_user", "geld", "Name", SpielerInfo[playerid][pName]));
    SetPlayerWantedLevel(playerid,mysql_GetInt("wcf1_user", "wanted", "Name", SpielerInfo[playerid][pName]));

  • Und genau das, was diese Funktionen machen, kannst du auch machen. Dafür musst du nur ein ganz bischen MySQL lernen.

    new temp[256],query[128];
    mysql_query("SELECT * FROM spieler ORDER BY SpielerID DESC LIMIT 20");
    mysql_store_result();
    if(mysql_num_rows()>0)
    {
    while(mysql_fetch_row(temp))
    {
    mysql_get_field("SpielerGeld", temp);
    printf("%d",strval(temp));
    }
    }

    Das müsste so gehen.

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • @| -|auke wenn schon SQL Lernen und ORDER BY SpielerID DESC LIMIT 20 würde er 20 Zeilen auslesen und nicht 20 Spalten oder sonst was .....


    xivo so wie ich die Fragenstellung verstanden habe:


    Nein du kannst auch die erste Spalte auslesen und gleich dannach die letzte ist egal du kannst es mischen , du musst nicht jede Spalte nacheinander auslesen damit du zur letzten kommst.

  • Ich hab ein Problem, wenn ich einen Float wert speichern möchte dann kommt z.B bei den Healthpoints das warning "number of arguments does not match definitions"
    Ich hab aber alles komplett so eingetragen wie in deinem tut nur das ich GetPlayerHealth(playerid) eingegeneben habe.
    LAden tut er alles wunderbar.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Okay, weil das ist das was mich momentan wundert, weil ich dachte ich muss diese nacheinander auslesen, weil die Werte einfach nicht stimmen. In der Datenbank habe ich z.B unter der Spalte "wanted" die Integer Zahl "1" jedoch, bekomme ich Ingame 6 Wanteds, warum auch immer :b Da muss ich jetzt nochmal drüber schauen, auch wenn ich gerade nicht weiß :b

  • Ich habe ein Problem, nun beim Auslesen meiner Daten.


    Mein LoadPlayer sieht momentan so aus :



    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SetPlayerSkin(playerid,mysql_GetInt("wcf1_user", "skin", "Name", SpielerInfo[playerid][pName]));
    SpielerInfo[playerid][pLeader] = mysql_GetInt("wcf1_user", "leader", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTeam] = mysql_GetInt("wcf1_user", "team", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pFluglizenz] = mysql_GetInt("wcf1_user", "fluglizenz", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pBootlizenz] = mysql_GetInt("wcf1_user", "bootlizenz", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pLKWlizenz] = mysql_GetInt("wcf1_user", "lkwlizenz", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pFluglizenz] = mysql_GetInt("wcf1_user", "fluglizenz", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pMotorradlizenz] = mysql_GetInt("wcf1_user", "motorradlizenz", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAutolizenz] = mysql_GetInt("wcf1_user", "autolizenz", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAlter] = mysql_GetInt("wcf1_user", "alter", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pBank] = mysql_GetInt("wcf1_user", "bank", "Name", SpielerInfo[playerid][pName]);
    GivePlayerMoney(playerid,mysql_GetInt("wcf1_user", "geld", "Name", SpielerInfo[playerid][pName]));
    SetPlayerWantedLevel(playerid,mysql_GetInt("wcf1_user", "wanted", "Name", SpielerInfo[playerid][pName]));
    SpielerInfo[playerid][pSpielzeit] = mysql_GetInt("wcf1_user", "spielzeit", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pPremiumpunkte] = mysql_GetInt("wcf1_user", "premiumpunkte", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pFluglizenzverwarnung] = mysql_GetInt("wcf1_user", "fluglizenzverwarnung", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pBootlizenzverwarnung] = mysql_GetInt("wcf1_user", "bootlizenzverwarnung", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pLKWlizenzverwarnung] = mysql_GetInt("wcf1_user", "lkwlizenzverwarnung", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pMotorradlizenzverwarnung] = mysql_GetInt("wcf1_user", "motorradlizenzverwarnung", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAutolizenzverwarnung] = mysql_GetInt("wcf1_user", "autolizenzverwarnung", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pKontoauszug] = mysql_GetInt("wcf1_user", "kontoauszug", "Name", SpielerInfo[playerid][pName]);
    }
    return 1;
    }


    Aufgerufen wird es bei Erfolgreichem Login so :



    SetPVarInt(playerid,"Eingeloggt",1);
    GameTextForPlayer(playerid, "~g~Erfolgreich Eingeloggt...", 5000, 1);
    SpawnSpieler(playerid);
    LoadPlayer(playerid);


    Doch irgendwie will das nicht Funktionieren, der Login funktioniert perfekt, ich bekomme auch den Textdraw ausgegeben, bzw. den Gametext, jedoch funktioniert irgendwie das Laden der Userdaten nicht, ich weiß nicht warum weil ständig wenn ich mich Einlogge und dann auf Spawn klicke, ja stimmt hatte ich vergessen zu erwähnen, dann führt er nichtmal SpawnSpieler(playerid); aus, sondern einfach nichts, ich muss selber auf den Spawn Button klicken. So, und dann lädt das Script bzw. das System auch die Userdaten nicht, weil in der Datenbank habe ich z.B das Watendlevel 1 jedoch habe ich Ingame das Wantedlevel 6+ weiter kann ich nicht sehen, also irgendwie funktioniert das alles nicht.


    Mein SpawnSpieler(playerid) sieht so aus :



    public SpawnSpieler(playerid)
    {
    SetPlayerPos(playerid, 2044.05, 1289.61, 15.6719);
    SetPlayerInterior(playerid, 0);
    return 1;
    }

  • Nabend,


    Habe ein problem, aufeinmal funktioniert das MYSQL Plugin nicht mehr.
    Wenn ich es in der .CFG drinne habe und dann den Server Starte, funktioniert er nicht mehr. So wie wenn man in Pawno einen Klammerfehler macht...bin am verzweifeln und verstehe einfach nicht woran das legen könnte, hatte das ja vor ner Woche noch drinne und aufeinmal läuft das nicht mehr!
    Hoffe ihr könnt mir helfen.


    //Edit: habs doch selber hinbekommen^^

    Einmal editiert, zuletzt von Gabsch ()

  • naja fischer haste die DB erstellt ?!? falschen zugangsdaten evtl angegeben?!?^^
    MfG Paddy

    Zitat

    naja aufm homeserver mit kumpel getestet und nix laggt von daher sollte nen richtiger server mit sowas keine probs haben

    *an Kopf schlag
    sowas kommt Raus wenn man erst absendet ohne nachzudenken. Bitte Leute Hirn einschalten beim Posten...