Und noch ein Fehler den ich nicht blicke
Diesmal geht es um MySQL. Da ich in MySQL nicht gerade ein Ass bin, verwende ich das Include 'C-MySQL' von Carlton.
Nun habe ich aber ein Problem. Sobald ich einen Float aus der MySQL Datenbank auslesen will, bringt er mir den oben genannten Error:
[Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "Health".
[Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "FacingAngle".
[Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "PositionZ".
[Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "PositionY".
[Tue Jan 17 16:15:08 2012] Error (0): Function: mysql_fetch_field could not find field name: "PositionX".
Zuerst habe ich mir natürlich angeschaut ob ich mich irgendwo verschrieben habe, der Fehler deutet ja daraufhin das er das Feld nicht finden konnte. Dem war aber nicht so. Dann habe ich mir im Include die Funktion für das Auslesen von Float's angesehen, aber auch hier konnte ich keinen Fehler entdecken.
Deshalb bitte ich (leider) nochmal um eure Hilfe. Der Fehler tritt bei diesem stock auf:
stock LadeSpieler(playerid)
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid,Name,sizeof(Name));
SetPlayerScore(playerid,CMySQL_Int(Name,"Level"));
SetPlayerHealth(playerid,CMySQL_Float(Name,"Health"));
SetPVarInt(playerid,"Adminlevel",CMySQL_Int(Name,"Adminlevel"));
SetPVarInt(playerid,"Level",CMySQL_Int(Name,"Level"));
SetPVarInt(playerid,"Geld",CMySQL_Int(Name,"Geld"));
SetPVarInt(playerid,"Skin",CMySQL_Int(Name,"Skin"));
SetPVarInt(playerid,"Kills",CMySQL_Int(Name,"Kills"));
SetPVarInt(playerid,"Tode",CMySQL_Int(Name,"Tode"));
SetSpawnInfo(playerid,0,CMySQL_Int(Name,"Skin"),CMySQL_Float(Name,"PositionX"),CMySQL_Float(Name,"PositionY"),CMySQL_Float(Name,"PositionZ"),CMySQL_Float(Name,"FacingAngle"),0,0,0,0,0,0);
SpawnPlayer(playerid);
return 1;
stock Float:CMySQL_Float(Username[], Field[],ThreadID = -1, extraID = -1) {
mysql_real_escape_string(ACCOUNT_TABLE, SQLEscapeX[0]);
mysql_real_escape_string(USERNAME_FIELD, SQLEscapeX[1]);
mysql_real_escape_string(Username, SQLEscapeX[2]);
mysql_real_escape_string(Field, SQLEscapeX[3]);
if(ThreadID != -1 && extraID != -1) {
format(SQLEscapeX[5], 128, "SELECT %s FROM %s WHERE %s = '%s'", SQLEscapeX[1], SQLEscapeX[0], SQLEscapeX[1], SQLEscapeX[2]);
mysql_query(SQLEscapeX[5], ThreadID, extraID);
return 0.0;
}
format(SQLEscapeX[5], 128, "SELECT %s FROM %s WHERE %s = '%s'", SQLEscapeX[1], SQLEscapeX[0], SQLEscapeX[1], SQLEscapeX[2]);
mysql_query(SQLEscapeX[5], ThreadID, extraID);
mysql_store_result();
new Storage[30];
#if defined MYSQL_PLUGIN
mysql_fetch_field_row(Storage, Field);
#else
mysql_fetch_field(Field, Storage);
#endif
new Float:StoredResult = floatstr(Storage);
mysql_free_result();
return StoredResult;
}
}
Ich hoffe das ihr mir helfen könnt. Danke schonmal.