MySQL Abfrage

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, also für mich ist MySQL in SAMP sehr neu. Ich behersche die MySQL Sprache, jedoch habe ich diese nur mit PHP und der Console angewandt.


    Warum funktioniert dieser Code nicht?:

    public ConnectPlayer(playerid)
    {
    new plname[24];
    new query[128];
    mysql_free_result()
    GetPlayerName(playerid, plname, sizeof(plname));
    format(query, sizeof(query), "select * from benutzer where name='%s'", plname);
    AWpRegpLog[playerid] = 1;
    if(mysql_query(query))
    {
    printf("Ok");
    printf(query);
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "SERVER: Dieser Nickname ist registriert.");
    mysql_store_result();
    return 1;
    }
    else
    {
    printf("Fehler");
    printf(query);
    SendClientMessage(playerid,COLOR_LIGHTRED,"SERVER: Du hast hier keinen Account.");
    mysql_store_result();
    return 1;
    }
    }

    Logdatei;

    Code
    [11:54:58] Incoming connection: 192.168.0.100:1074
    [11:54:58] [join] Grex has joined the server (0:192.168.0.100)
    [11:55:07] Ok
    [11:55:07] select name from benutzer where name='Grex';
    [11:55:12] [part] Grex has left the server (0:1)
    [11:55:38] Incoming connection: 192.168.0.100:1075
    [11:55:38] [join] Grex11 has joined the server (0:192.168.0.100)
    [11:55:46] Ok
    [11:55:46] select name from benutzer where name='Grex11';


    Kurze Erklärung, gibt mysql_query den Wert 1 zurück, soll er Anzeigen, "Dieser Nickname ist registriert.", sansonst "Du hast hier keinen Account".
    Der User Grex existiert, aber User Grex11 nicht...
    Er zeig jedoch immer an, dass ich hier einen Account habe,...
    mysql_query(..), gibt doch immer einen boolean wert ( true oder false ) zurück, oder funktioniert das hier nicht?


    EDIT: Hier auch die MySQL Console:


    Wie man sieht, findet er den User Grex, User Grex11 nicht, wie gewollt, nurnicht das Script...
    Oder spinnt das Script rum, weil als Antwort Empty Set kommt?



    EDIT: Gelöst... war wirklich weil Empty Set als Antwort kam. Es ist mysql_fetch_field anzuwenden!!


    San Andreas [Fun]RealLife
    [ TOOL ] Grex's RCON Tool
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher" - Albert Einstein

    4 Mal editiert, zuletzt von Grex ()