sscanf(string,"p<|>s[32]ds[32]",besitzer,id,text);
Das meint er. Das muss so sein:
sscanf(string,"p<|>s[32]s[32]d",besitzer,text,id);
Und
if(strlen(str) < 1)
Zu
if(strlen(str) > 0)
sscanf(string,"p<|>s[32]ds[32]",besitzer,id,text);
Das meint er. Das muss so sein:
sscanf(string,"p<|>s[32]s[32]d",besitzer,text,id);
Und
if(strlen(str) < 1)
Zu
if(strlen(str) > 0)
Alles anzeigensscanf(string,"p<|>s[32]ds[32]",besitzer,id,text);
Das meint er. Das muss so sein:
sscanf(string,"p<|>s[32]s[32]d",besitzer,text,id);
Und
if(strlen(str) < 1)
Zu
if(strlen(str) > 0)
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!
Ich habe den Fehler gefunden. Als er beim Befehl /tickets nichts geprintet hat, habe ich den MySQL-Debug eingeschaltet.
Folgende Antwort:
[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