MySQL Store Result

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

  • new string[256],query[64],str[256],besitzer[32],text[32],id;
    format(query, sizeof query, "SELECT `Besitzer`,`Text`,`Playerid` FROM `Tickets` WHERE `Status` = 0");
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(string) == 1)
    {
    sscanf(string,"p<|>s[32]s[32]d",besitzer,text,id);
    format(str,sizeof str,"%sSpieler: %s (ID: %d) | Text: %s\n",str,besitzer,id,text);
    }
    mysql_free_result();
    if(strlen(str) > 0)
    {
    ShowPlayerDialog(playerid,DLG_TICKETS,DIALOG_STYLE_MSGBOX,"Offene Tickets",str,"Schließen","");
    }
    else
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Derzeit sind keine offenen Supporttickets verfügbar!");
    }
    Da ist der Code.
    In der Datenbank sind 2 Tickets mit dem besagten Status 0.


    Wenn ich nun InGame /tickets mache, wird mir die Meldung ausgegeben, dass keine offenen Tickets verfügbar sind.

  • while(mysql_fetch_row_format(string) == 1)
    {
    print(string);
    sscanf(string,"p<|>s[32]s[32]d",besitzer,text,id);
    format(str,sizeof str,"%sSpieler: %s (ID: %d) | Text: %s\n",str,besitzer,id,text);
    print(str);
    }


    Was wird geprintet wenn du das so laufen lässt?



    Edit:
    DJ Deagle: Gut, dass du den Fehler selbst gefunden hast als du es debuggt hast!

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Ich habe den Fehler gefunden. Als er beim Befehl /tickets nichts geprintet hat, habe ich den MySQL-Debug eingeschaltet.
    Folgende Antwort:

    SQL
    [03:24:44] CMySQLHandler::Query(SELECT `Besitzer`,`Text`,`Playerid` FROM `Tickets` WHERE `Statu) - An error has occured. (Error ID: 1054, Unknown column 'Statu' in 'where clause')
    [03:24:44] >> mysql_store_result( Connection handle: 1 )
    [03:24:44] CMySQLHandler::StoreResult() - No data to store.
    [03:24:44] >> mysql_fetch_row_format( Connection handle: 1 )
    [03:24:44] CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)
    [03:24:44] >> mysql_free_result( Connection handle: 1 )
    [03:24:44] CMySQLHandler::FreeResult() - The result is already empty.


    Der Query war etwas zu kurz. Nun lasse ich den Query so ausführen:
    mysql_query("SELECT `Besitzer`,`Text`,`Playerid` FROM `Tickets` WHERE `Status` = 0");


    Danke trotzdem für die nette Hilfe :)



    MfG
    Deagle