- The logs show that you execute 2 INSERT queries when you only need 1.
|
mysql_format(mysql, query, sizeof(query), "INSERT INTO `playerinfo` (`Name`, `Pass`, `Cash`, `AdminLevel`, `Kills`, `Deaths`, `Skin`, `Color`, `Level`, `RespectPoints`, `WantedLevel`, `Sex`, `Age`, `RegistredIP`, `Email`, `Muted`, `MuteTime`, `HouseID`, `ChangeSpawn`, VALUES ('%e', '%e', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '%e', '%e', 0, 0, 0, 0 )", playername, PlayerInfo[playerid][pPass], playerip ); mysql_format(mysql, query2, sizeof(query2), "INSERT INTO `playerinfo` (`CarLic`, `BoatLic`, `PlaneLic`, `WeaponLic`, `Job`, `Warns`, `RentHouseID`, `FactionID`, `RobPoints`, `BankMoney`, `OreJucate`, `FactionRank`, `SecundeJucate`, `CarSlot1`, `CarSlot2`, `CarSlot3`, `CarSlot4`, `Premium`, `FactionPunish`, `WantedReason`, `JailTime`, `PremiumColor`, VALUES (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)"); mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid); mysql_tquery(mysql, query2, "OnAccountRegister", "i", playerid);
// WARNIG: The size of "query" should be long enough to fit the whole text
query = "INSERT INTO playerinfo ";
strcat(query, "(Name,Pass,Cash,AdminLevel,...)");
strcat(query, "VALUES ('%e','%e', ...)");
// you can split arguments as well
mysql_format(mysql, query, sizeof(query), query,
...,
...);
mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
query = "INSERT INTO `playerinfo` "; strcat(query, "(`Name`, `Pass`, `Cash`, `AdminLevel`, `Kills`, `Deaths`, `Skin`, `Color`, `Level`, `RespectPoints`, `WantedLevel`, `Sex`, `Age`, `RegistredIP`, `Email`, `Muted`, `MuteTime`, `HouseID`, `ChangeSpawn`, `CarLic`, `BoatLic`, `PlaneLic`, `WeaponLic`, `Job`, `Warns`, `RentHouseID`, `FactionID`, `RobPoints`, `BankMoney`, `OreJucate`, `FactionRank`, `SecundeJucate`, `CarSlot1`, `CarSlot2`, `CarSlot3`, `CarSlot4`, `Premium`, `FactionPunish`, `WantedReason`, `JailTime`, `PremiumColor`) "); strcat(query, "VALUES ('%e', '%e', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '%e', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');"); mysql_format(mysql, query, sizeof(query), query, playername,PlayerInfo[playerid][pPass],playerip); mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid); |
[00:06:40] [DEBUG] mysql_format - connection: 1, len: 700, format: "INSERT INTO `playerinfo` (`Name`, `Pass`, `Cash`, `AdminLevel`, `Kills`, `Deaths`, `Skin`, `Color`, `Level`, `RespectPoints`, `W..." [00:06:40] [ERROR] mysql_format - destination size is too small [00:06:40] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `playerinfo` (`Name`, `Pass`, `Cash`, `AdminLevel`, ", callback: "OnAccountRegister", format: "i" [00:06:40] [DEBUG] CMySQLQuery::CMySQLQuery() - constructor called [00:06:40] [DEBUG] mysql_tquery - scheduling query "INSERT INTO `playerinfo` (`Name`, `Pass`, `Cash`, `AdminLevel`, `Kills`, `Deaths`, `Skin`, `Color`, `Level`, `RespectPoints`, `WantedLevel`, `Sex`, `Age`, `RegistredIP`, `Email`, `Muted`, `MuteTime`, `HouseID`, `ChangeSpawn`, `CarLic`, `BoatLic`, `PlaneLic`, `WeaponLic`, `Job`, `Warns`, `RentHouseID`, `FactionID`, `RobPoints`, `BankMoney`, `OreJucate`, `FactionRank`, `SecundeJucate`, `CarSlot1`, `CarSlot2`, `CarSlot3`, `CarSlot4`, `Premium`, `FactionPunish`, `WantedReason`, `JailTime`, `PremiumColor`) VALUE".. [00:06:40] [DEBUG] CMySQLQuery::Execute[OnAccountRegister(i)] - starting query execution [00:06:40] [ERROR] CMySQLQuery::Execute[OnAccountRegister(i)] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' at line 1 [00:06:40] [DEBUG] CMySQLQuery::Execute[OnAccountRegister(i)] - error will be triggered in OnQueryError [00:06:40] [DEBUG] CMySQLQuery::Execute[OnAccountRegister(i)] - data being passed to ProcessCallbacks() [00:06:40] [DEBUG] Calling callback "OnQueryError".. [00:06:40] [DEBUG] CMySQLQuery::~CMySQLQuery() - deconstructor called