Nabend ich habe ein Problem
wenn ich mir ein Haus kaufe und dann das Spiel Abspeicher, sichert er das Haus nicht mit ab
hier mal der Code:
stock savehouse()
{
	for(new i;i<MHO;i++)
	{
		if(strlen(house2[i][hOwner])!=0)
		{
			if(GetHouseId(i) < 1)
			{
				new ID = GetPlayerIdFromHouse(house2[i][hOwner]);
				if(ID != -1)
				CreateSqlHouse(ID);
				SetHouseId(i,ID);
			}
			mysql_SetHouse(i,"Owner",house2[i][hOwner]);
			mysql_SetIntHouse(i,"Open",house2[i][hOpen]);
		}
	}
	return 1;
}
stock CreateSqlHouse(ID)
{
	new string[64];
	format(string,64,"INSERT INTO `haus` (`ID`) VALUES ('%d')",ID);
	mysql_query(string);
	return mysql_insert_id();
}
stock GetPlayerIdFromHouse(name[])
{
	new query[128],ID[15];
	mysql_real_escape_string(name, name);
	format(query, sizeof query, "SELECT `ID` FROM `haus` WHERE `name` = '%s' LIMIT 1;", name);
	mysql_query(query);
	mysql_store_result();
	if(!mysql_num_rows())
	{
		mysql_free_result();
		return -1;
	}
	mysql_fetch_row(query);
	mysql_fetch_field_row(ID,"ID");
	mysql_free_result();
	return strval(ID);
}
stock mysql_SetIntHouse(ID,what[],value)
{
	ID = GetPlayerId(ID);
	if(ID < 1)
		return false;
	new query[128];
	SetPVarInt(ID, what, value);
	format(query, sizeof query, "UPDATE `haus` SET `%s` = %i WHERE `ID` = %i LIMIT 1;",what,value,ID);
	return mysql_query(query);
}
stock mysql_SetFloatHouse(ID,what[],Float:value)
{
	ID = GetPlayerId(ID);
	if(ID < 1)
		return false;
	new query[128];
	SetPVarFloat(ID, what, value);
	format(query, sizeof query, "UPDATE `haus` SET `%s` = '%f' WHERE `ID` = %i LIMIT 1;",what,value,ID);
	return mysql_query(query);
}
stock mysql_SetHouse(ID,what[],value[])
{
	ID = GetPlayerId(ID);
	if(ID < 1)
		return false;
	new query[128];
	SetPVarString(ID, what, value);
	mysql_real_escape_string(value, value);
	format(query, sizeof query, "UPDATE `haus` SET `%s` = '%s' WHERE `ID` = '%i' LIMIT 1;",what,value,ID);
	return mysql_query(query);
}
stock mysql_GetHouse(id, what[])
{
	id = GetPlayerId(id);
	new query[128],
		response[256];
	if(id < 1)
		return response;
	format(query, sizeof query, "SELECT `%s` FROM `haus` WHERE `id` = %i LIMIT 1;",what,id);
	mysql_query(query);
	mysql_store_result();
	mysql_fetch_row(query);
	mysql_fetch_field_row(response, what);
	mysql_free_result();
	return response;
}
/*==================*/
und der Debug sagte mir das:
[19:50:30] >> mysql_real_escape_string( Connection handle: 1 )
[19:50:30] CMySQLHandler::EscapeString(Angelo_Merte); - Escaped 12 characters to Angelo_Merte.
[19:50:30] >> mysql_query( Connection handle: 1 )
[19:50:30] CMySQLHandler::Query(SELECT `ID` FROM `haus` WHERE `name` = 'Angelo_Merte' LIMIT 1;) - An error has occured. (Error ID: 1054, Unknown column 'name' in 'where clause')
[19:50:30] >> mysql_store_result( Connection handle: 1 )
[19:50:30] CMySQLHandler::StoreResult() - No data to store.
[19:50:30] >> mysql_num_rows( Connection handle: 1 )
[19:50:30] CMySQLHandler::NumRows() - You cannot call this function now. (Reason: Dead Connection)
[19:50:30] >> mysql_fetch_row_format( Connection handle: 1 )
[19:50:30] CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)
[19:50:30] >> mysql_fetch_field_row( Connection handle: 1 )
[19:50:30] CMySQLHandler::FetchField(ID) - You cannot call this function now. (Reason: Fields/Rows are empty.)
[19:50:30] >> mysql_free_result( Connection handle: 1 )
[19:50:30] CMySQLHandler::FreeResult() - The result is already empty.
[19:50:30] >> mysql_query( Connection handle: 1 )
[19:50:30] CMySQLHandler::Query(INSERT INTO `haus` (`ID`) VALUES ('0')) - Successfully executed.
[19:50:30] >> mysql_insert_id( Connection handle: 1 )
	
			Alles anzeigen
	Ich hoffe, das jemand helfen kann