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