Problem mit MySQL /madmin (makeadmin) Befehl

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
  • sehr geehrte SAMP Community,


    ich habe ein Problem mit meinem /makeadmin Befehl.Ich bin zwar noch am Anfang und in der Lernphase von MySQL aber ich möchte ein Selfmade machen um es zu lernen. Normalerweise sage ich immer "learning by doing" aber ich brauche mal eure Hilfe bei MySQL.


    Wenn ich /ma(ke)admin eingebe meine ID und das Adminlevel eingebe dann soll ja nichts passieren AUßER er soll mich halt das angegebene Level machen.


    Doch wenn ich wieder /stats mache und in die Datenbank schaue steht da immer noch das Adminlevel was ich die ganze zeit war.


    Mein Befehl:
    ocmd:madmin(playerid,params[]){ if(!IstSpielerEinAdmin(playerid,7))return SendClientMessage(playerid,0xFF0A00FF,"Du bist kein Administrator."); new pID, rank; if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,COLOR_RED,"/madmin [spieler] [level]"); if(rank<0||rank>9)return SendClientMessage(playerid,COLOR_RED,"Es gibt nur Maximal 8 Admin Ränge."); new query[128]; format(query,sizeof(query),"UPDATE Alevel='%i' FROM accounts WHERE Name='%s'",rank,SpielerName(pID)); mysql_query(query); return 1;}


    wie gesagt bin ein Anfänger in MySQL ^^


    Vielen Dank im Vorraus für die Hilfe


    Mit freundlichen Grüßen
    DjKiller

    Einmal editiert, zuletzt von DjKiller ()

  • Das ist falsch :



    UPDATE Alevel='%i' FROM accounts WHERE Name='%s'


    Wieso UPDATE und dann FROM ?


    Ein "UPDATE" query lautet wie folgt :



    "UPDATE `Tabellenname` SET `WERT` = '%d/i/s/etc.' WHERE `Name` = '%s'


    //edit


    Und bei den Stats hoffe ich jetzt mal nicht das du den Mysql Wert extra holst.
    Am besten du speicherst alles in eine Spieler Variable z.B in einen enum um nicht während dem spielen andauernd in die Datenbank connecten zu müssen.
    Am Anfang laden (beim connecten) und beim Austritt des Spielers die Variablen einfach speicher wäre viel freundlicher als wie andauernd in verschiedenen Befehlen zu speichern.