Mysql String auslesen obwohl user Offline

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, ist es Möglich einen String von einem User Auszulesen der nicht Online ist?
    Ich würd gern eine "Ingame - Baninfo" für Admins haben.
    Ich hab es schon mit Select probiert, aber es wird nur das ausgegeben
    SELECT FROM `accounts` WHERE `Name` = 'fynn_Garcia1',`BanReason` = '',`BanAdmin` = ''
    Ich bräuchte ein klein Ansporn da ich leider noch nicht Perfekt mit MySQL Umgehen kann..

  • Du kannst einfach eine weitere spalte erstellen banned und dann abfragen wo banned=1 ist

    SQL
    SELECT * FROM `accounts` WHERE `banned`='1'


    Hab ich schon der Ban wird euch Eingetragen und Gespeichert, ich möchte den Grund sowie den Admin Auslesen.
    Jedoch Versagt jede Variante die ich schon Angewendet habe.

  • Naja, in PHP ist's ja einfach:


    PHP
    $result = mysql_query("SELECT * FROM `accounts` WHERE `banned` = '1';");
    while($row = mysql_fetch_object($result)) {
       echo "Name des gesperrten Benutzers: " . $row->username . "<br />";
       echo "Ausführendes Teammitglied: " . $row->banner . "<br />";
       echo "Grund für die Sperre" . $row->banreason . "<br />";
    }


    Ich schätze mal, dass es in Pawn mysql_fetch_object auch gibt - Einfach mal 'n bisschen googeln und rumprobieren. ;)

  • (Welcher hier nicht sonderlich viel hilft..)?!

    Die meisten MySQL-Funktionen von PHP sind auch in PAWN in gleicher oder ähnlicher Form vorhanden.
    Bin mir grad selbst nicht sicher, ob es mysql_fetch_object in PAWN gibt, falls es das geben sollte, hat er seine Lösung.
    Er müsste ja nur den PHP Code umschreiben, was nicht sonderlich schwer ist.


    new result[512] = mysql_query("SELECT * FROM `accounts` WHERE `banned` = '1';");
    while(new row[64][] = mysql_fetch_object(result)) {
    new str[128];
    format(str, sizeof(str), "Name des gebannten Benutzers: %s", row["username"]);
    SendClientMessage(playerid, -1, str);
    }
    Oder so.
    Schlagt mich nicht, wenn ich die Arrays falsch verwendet habe und / oder die Größe zu hoch / zu klein gesetzt habe. :sleeping:


    EDIT: Dann soll er es ausprobieren, einfach mal "mysql_fetch_object(result);" in eine neue Zeile eingeben, davor result das Ergebnis von mysql_query zuweisen...


    Er schreibt ja nicht, dass es die Funktion nicht gibt, er schreibt lediglich, dass er

    noch nicht Perfekt mit MySQL Umgehen kann..

  • Welches MYSQL Plugin nutzt du denn, da Blueg und Strickenkid teilweise andere Syntax und Semantik verwenden.


    btw würde ich eine andere Querry nutzen:


    SQL
    SELECT `BanReason`,`BanAdmin` FROM `accounts` WHERE `Name` = 'fynn_Garcia1' AND `Ban` = 1


    Dann bekommst du beide Spalten aus der Table des Spielers, wenn dieser gebannt ist (die Flag `Ban` gesetzt (1) ist).


  • Ich Benutze das Plugin von G-sTyLeZzZ
    Jedoch was ich nicht Verstehe ist, in der MySQL Datenbank steht der User als Gebannt drin, also das Flag steht SpielerInfo[playerid][pBan] == 1
    Es wird mir jedoch das ausgegeben,

    SQL
    SELECT FROM `accounts` WHERE `Name` = 'fynn_Garcia12', `Ban` = '0',`BanAdmin` = ''
  • Ich nutze Strickenkid, daher hab ichs aus dem Wiki von BlueG mal zusammengebastelt


    mysql_store_result();
    if(mysql_num_rows() != 0)
    {
    new banadmin,bangrund;
    mysql_get_field("BanReason",bangrund);
    mysql_get_field("BanAdmin",banadmin);
    }
    mysql_free_result();


    und zwar mir diesem Query

    SQL
    SELECT `BanReason`,`BanAdmin` FROM `accounts` WHERE `Name` = 'fynn_Garcia1' AND `Ban` = 1


    Du kannst alternativ auch alle Fields im Query holen (*), das ist aber nur unnötiger Speicher- und Laufzeit-Verbrauch.



    Ich versteh hier grad nicht wo das Problem liegt. Wird dein Query nicht richtig formated oder was?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen