[SwiftEMU] Userid not defined in InventoryComponent.cs
Hello Ragezone!
So I got this MYSQL error today:
Code:
Error in query:
SELECT items_users.item_id, items.base_id, items_extradata.data, items.rareid, items.group_data FROM items_users JOIN items ON (items.item_id = items_users.item_id) LEFT JOIN items_extradata ON (items_extradata.item_id = items.item_id) WHERE items_users.user_id = @userid
MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered during command execution. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Parameter '@userid' must be defined.
at MySql.Data.MySqlClient.Statement.SerializeParameter(MySqlParameterCollection parameters, MySqlPacket packet, String parmName)
at MySql.Data.MySqlClient.Statement.InternalBindParameters(String sql, MySqlParameterCollection parameters, MySqlPacket packet)
at MySql.Data.MySqlClient.Statement.BindParameters()
at MySql.Data.MySqlClient.PreparableStatement.Execute()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at Database_Manager.Database.Session_Details.QueryAdapter.getTable()
As far as I understand, the userid isnt defined here (InventoryComponent.cs line 283):
Code:
using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
{
dbClient.setQuery("SELECT items_users.item_id, items.base_id, items_extradata.data, items.rareid, items.group_data FROM items_users JOIN items ON (items.item_id = items_users.item_id) LEFT JOIN items_extradata ON (items_extradata.item_id = items.item_id) WHERE items_users.user_id = @userid");
dbClient.addParameter("userid", (int)this.UserId);
table = dbClient.getTable();
}
Do any of you nice people know how to define it if that is the problem? All help is greatly appreciated. :)
Edit: It causes the user to lose it's furniture in the inventory when they reload.
NEVERMIND. I fixed it..