Fix mysql rank and help in other errorSuggestion

Good morning, I was installing your plugin on one of my servers using MySQL, and I encountered an error. Apparently, in MySQL, the word "Rank" is a reserved keyword, which causes conflicts and floods the error console. Initially, I didn't understand the error messages. I resolved it by changing "Rank" to "RankPlayer" in the table creation and update queries, a total of 5 times in the code, and it was resolved. Perhaps you could consider making this change in future updates. I am using MySQL Server 8.0.33, but the word "Rank" has been reserved for many years.

MySql handle raised an exception (MySqlException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Rank='0', RankName='Newbie', RankSig='', RankImg='https://i.imgur.com/i6M4ZmV.pn' at line 1)
  at MySql.Data.MySqlClient.MySqlCommand.EndExecuteNonQuery (System.IAsyncResult asyncResult) [0x00022] in <8d7380b3d3cf4bd8be324c584f371b44>:0
  at (wrapper remoting-invoke-with-check) MySql.Data.MySqlClient.MySqlCommand.EndExecuteNonQuery(System.IAsyncResult)

Change "Rank" for "RankPlayer" or "PlayerRank" in:

private void CreatSQLTable()
privatevoidUpdatePlayersDataSQL()
privatevoidUpdatePlayerDataSQL(BasePlayer player)
if (!entry.ContainsKey("Rank")) { rank = true; }
sqlLibrary.Insert(Sql.Builder.Append("INSERT XPerience (steamid, displayname, Rank, RankName, RankSig, ..........

update character set utf8 > utf8mb4 in:
private void CreatSQLTable()

I still haven't found a solution for using the 'reload' plugin command (o.reload *) in two plugins:

The error occurs during the loadout process:

MySql handle raised an exception in 'XPerience v1.7.6' plugin (NullReferenceException: Object reference not set to an instance of an object)
  at MySql.Data.MySqlClient.MySqlCommand.EndExecuteNonQuery (System.IAsyncResult asyncResult) [0x00022] in <8d7380b3d3cf4bd8be324c584f371b44>:0                                                                               0b/s in, 0b/s out
  at (wrapper remoting-invoke-with-check) MySql.Data.MySqlClient.MySqlCommand.EndExecuteNonQuery(System.IAsyncResult)

The error occurs during the loading process:
MySql handle raised an exception in 'KillRecords v1.3.6' plugin (NullReferenceException: Object reference not set to an instance of an object)
  at MySql.Data.MySqlClient.MySqlCommand.EndExecuteNonQuery (System.IAsyncResult asyncResult) [0x00022] in <8d7380b3d3cf4bd8be324c584f371b44>:0                                                                               0b/s in, 0b/s out
  at (wrapper remoting-invoke-with-check) MySql.Data.MySqlClient.MySqlCommand.EndExecuteNonQuery(System.IAsyncResult)

This should not be the case as I use this within my public website RustLevels and klnow of several people who use the SQL without any of these issues. You may have a different problem causing this

vmhd4pyTgyZ7xpZ.png MACHIN3

This should not be the case as I use this within my public website RustLevels and klnow of several people who use the SQL without any of these issues. You may have a different problem causing this

I understand what you're telling me, but just because it works doesn't mean it's well programmed. I'm not saying this in a negative way, quite the opposite. As constructive criticism, you should check the official MySQL documentation to see what I'm talking about. It's something as basic as what I'm mentioning for new versions of MySQL, although in this case, what I'm referring to is from very old versions, more than 10 years ago, with the language's reserved keywords. It's strange that you've never encountered this error before.

Without a doubt, you have created an incredible plugin. Thank you for taking the time to respond; I really appreciate it.

I will change Rank to PlayerRank just to prevent issues in cases like yours. This is mostly with MySQL v 8+ which oxide doesn't support very well and seen many issues with it.

Thank you for understanding. Yes, I've been aware of reserved words for the past 15 years, but I wasn't aware that Oxide had issues with such stable and recent versions of MySQL. In the case of my hosting, we use all LTS versions of each language for security reasons. I appreciate the modification, and we'll keep an eye on it. Have a great week!