Nabend,
ich habe in meinem Script die funktion cache_set_active(PlayerInfo[playerid][LoginDataCacheID]); in verwendung.
Bekomme aber folgenden Warning ?!
warning 213: tag mismatch
enum SpielerProfil
{
...,
...,
...,
...,
...
LoginDataCacheID
}
Nabend,
ich habe in meinem Script die funktion cache_set_active(PlayerInfo[playerid][LoginDataCacheID]); in verwendung.
Bekomme aber folgenden Warning ?!
warning 213: tag mismatch
enum SpielerProfil
{
...,
...,
...,
...,
...
LoginDataCacheID
}
In deinem Enum musst du "Cache:" vor der CacheID schreiben.
MfG Kevin
Vielen dank, Fehler gefunden. Nun tut sich ein neuer Fehler auf.
Ich habe einen /warn Befehl erstellt und möchte jeden Warn mit Name, Adminname, Grund, Datum und Uhrzeit loggen. Der befehl an sich klappt, allerdings wird kein Eintrag in der Datenbank erstellt.
mysql_format(mycon,query,sizeof(query),"INSERT INTO `warn` (`Name`, `Grund`, `Admin`, `Datum`, `Uhrzeit`, `Warn`) VALUES ('%e','%e','%e','%e','%e')",name,string3,aname,string,string2,PlayerInfo[pID][pWarn]);
mysql_tquery(mycon,query,"","");
mysql_format(mycon,query,sizeof(query),"INSERT INTO `warn` (Name, Grund, Admin, Datum, Uhrzeit, Warn) VALUES ('%e','%e','%e','%e','%e')",name,string3,aname,string,string2,PlayerInfo[pID][pWarn]);
mysql_tquery(mycon,query,"","");
so sollte es funzunieren
mysql_format(mycon,query,sizeof(query),"INSERT INTO `warn` (Name, Grund, Admin, Datum, Uhrzeit, Warn) VALUES ('%e','%e','%e','%e','%e')",name,string3,aname,string,string2,PlayerInfo[pID][pWarn]);
mysql_tquery(mycon,query,"","");
so sollte es funzunieren
Würde mal "%e" mit "%s" auswechseln.
//Edit:
Lass Dir den Query mal via print ausgeben.
Wenn ich das richtig sehe, hast du lediglich die Backticks rausgenommen. Klappt dennoch nicht.
Der Log im Kick Befehl klappt.
mysql_format(mycon,query,sizeof(query),"INSERT INTO `kick` (`Ausführender Admin`, `Betroffener Spieler`, `Grund`, `Datum`, `Uhrzeit`) VALUES ('%e','%e','%e','%e','%e')",aname,name,string4,string2,string3);
mysql_tquery(mycon,query,"","");
Ein Fehler ist in dem Query nicht zu erkennen du kannst jedoch mal den Fehler ausgeben lassen
entweder in der MYSQL Log
mysql_log(LOG_DEBUG,LOG_TYPE_TEXT);
oder in der Konsole
public OnQueryError(errorid, error[], callback[], query[], connectionHandle) {
printf("Errorid %d",errorid);
print(error);
print(callback);
print(query);
return 1;
}
//edit
Lenox Ich hoffe dir ist bewusst für was der Platzhalter %e bei mysql_format genutzt wird. => zum escapen von strings.
Fehler gefunden: 6 Angaben im query aber nur 5x '%e'
danke an alle