Server stürtzt nach 'mysql_get_field' ab.

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,


    mein Problem ist, dass ich gerade versuche meinen Server auf MySQL umzustellen.
    Das einzige Problem ist, wie der Titel bereits sagt ab dem Befehl mysql_get_field() der Server abstürtzt.


    PAWN-Code:
    public OnPlayerConnect(playerid)
    {
    if(IsPlayerNPC(playerid))return 1;

    new query[512], data[512];
    format(query, sizeof(query), "SELECT * FROM `user` WHERE `name` = '%s'", SpielerName(playerid));
    mysql_query(query);
    mysql_store_result();

    if(mysql_num_rows() == 0) Kick(playerid);
    mysql_get_field("banned", data); // Hier ist Zeile 406, welche Crashdetect auch angibt(glaube ich) ==> [15:33:54] [debug] #1 0000896c in public OnPlayerConnect (playerid=0) at free.p:407
    printf("nach get field");
    if(strval(data) == 1)
    {
    new dialog_text[1024], msg[256], Name[256], Grund[256], Zeit[256], Dauer[256];
    mysql_get_field("ban_admin", data);
    format(Name, sizeof(Name), "%s", data);
    mysql_get_field("ban_grund", data);
    format(Grund, sizeof(Grund), "%s", data);
    mysql_get_field("ban_zeit", data);
    format(Zeit, sizeof(Zeit), "%s", data);
    mysql_get_field("ban_dauer", data);
    format(Dauer, sizeof(Dauer), "%s", data);

    mysql_free_result();

    format(msg, sizeof(msg), "{FFFFFF}Admin: {AAAAAA}%s\n{FFFFFF}Grund: {AAAAAA}%s\n{FFFFFF}Zeitpunkt: {AAAAAA}%s\n{FFFFFF}Dauer: {AAAAAA}%s", Name, Grund, Zeit, Dauer);
    format(dialog_text, sizeof(dialog_text), "{FFFFFF}Dein Account {EA1616}%s{FFFFFF} ist auf diesem Server gesperrt!\nEtwas weiter unten findest du alle wichtigen Informationen über deine Accountsperre.\nWenn du meinst, dass dein Account zu Unrecht gebannt wurde, wende dich bitte an einen Administrator. \n\n%s", SpielerName(playerid), msg);
    ShowPlayerDialog(playerid, DIALOG_BAN, DIALOG_STYLE_MSGBOX, "LPFreaks11 Freeroam - Account gesperrt!", dialog_text, "Schließen", "");
    SetTimerEx("KickPlayer", 1000, 0, "i", playerid);
    return 1;
    }


    MySQL Debug Datei:


    Und auchnoch der Serverlog mit Crashdetect...


    PS: Ich kann selber auch PHP scripten und da verwende ich immer mysql_fetch_object()...
    Link zum Plugin: Hier
    (Ich verwendet Version R6.)