new query[1000], insertstring[1000], playername[128], string[512]; GetPlayerName(playerid, playername, sizeof(playername)); format(insertstring, sizeof(insertstring), "INSERT INTO accounts (Password, Name, Level, Admin, Helper, Premium, UpgradePoints, ConnectedTime, Registered, Sex, Age"); format(string, sizeof(string), ", Origin, Muted, Respect, Cash, Bank, Crimes, Kills, Deaths, Arrested, WantedDeaths, Phonebook, LottoNr, Fishes, BiggestFish, Job, Paycheck, HeadValue"); strcat(insertstring, string, sizeof(insertstring)); format(string, sizeof(string), ", Materials, Drugs, Lider, Membru, Rank, Char, DetSkill, SexSkill, BoxSkill, JackSkill, CarSkill, NewsSkill, DrugsSkill, CookSkill, FishSkill, pHealth, Interior"); strcat(insertstring, string, sizeof(insertstring)); format(string, sizeof(string), ", Local, WantedLevel, Jailed, JailTime, Telefon, FirstCar, SecondCar, Helicopter, Boat, Plane, Fwarn, House, Business, CarLic, FlyLic, BoatLic, FishLic"); strcat(insertstring, string, sizeof(insertstring)); format(string, sizeof(string), ", GunLic, Gun1, Gun2, Gun3, Gun4, Ammo1, Ammo2, Ammo3, Ammo4, CarTime, PayDay, PayDayHad, CDPlayer, Wins, Loses, AlcoholPerk, DrugPerk"); strcat(insertstring, string, sizeof(insertstring)); format(string, sizeof(string), ", MiserPerk, PainPerk, TraderPerk, Tutorial, Warnings, Adjustable, Married, AcceptPoints, MarriedTo, JobCD, WalkieTalkie, GasCan, Coins) VALUES ('%s', '%s', 1, NULL, NULL", inputtext, playername); strcat(insertstring, string, sizeof(insertstring)); format(string, sizeof(string), ", NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, 50000, 50000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL"); strcat(insertstring, string, sizeof(insertstring)); format(string, sizeof(string), ", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 50.00, NULL, 15, 255, NULL, NULL, NULL, NULL, -1, -1, -1, -1, -1, NULL, 255, 255, NULL, NULL, NULL, NULL, NULL, NULL, NULL"); strcat(insertstring, string, sizeof(insertstring)); format(string, sizeof(string), ", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'No-One', NULL, NULL, NULL, NULL)"); strcat(insertstring, string, sizeof(insertstring)); mysql_format(mysql, query, sizeof(query), insertstring); mysql_tquery(mysql, query, "OnPlayerRegister", "i", playerid);
[23:27:35] [DEBUG] mysql_format - connection: 1, len: 1300, format: "INSERT INTO accounts (Password, Name, Level, Admin, Helper, Premium, UpgradePoints, ConnectedTime, Registered, Sex, Age, Origin,..." [23:27:35] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO accounts (Password, Name, Level, Admin, Helper, Prem", callback: "OnPlayerRegister", format: "i" [23:27:35] [DEBUG] CMySQLQuery::Execute[OnPlayerRegister] - starting query execution [23:27:35] [ERROR] CMySQLQuery::Execute[OnPlayerRegister] - (error #1064) Erreur de syntaxe prčs de 'Char, DetSkill, SexSkill, BoxSkill, JackSkill, CarSkill, NewsSkill, DrugsSkill, ' ŕ la ligne 1 [23:27:35] [DEBUG] CMySQLQuery::Execute[OnPlayerRegister] - error will be triggered in OnQueryError
Let's simplify that query. Make sure you set up default values in your table structure. After you have done that, remove all the nulls and base values that won't be set in this query specifically. Generally, you only need to insert values that have just been created, such as the username and their password... maybe a few other items.
Big queries like this can easily have small mistakes. |
[22:58:05] [DEBUG] mysql_format - connection: 1, len: 1500, format: "UPDATE accounts (Password, Name, Level, Admin, Helper, Premium, UpgradePoints, ConnectedTime, Registered, Sex, Age, Origin, Mute..." [22:58:05] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE accounts (Password, Name, Level, Admin, Helper, Premium, ", callback: "(null)", format: "(null)" [22:58:05] [DEBUG] CMySQLQuery::Execute[] - starting query execution [22:58:05] [ERROR] CMySQLQuery::Execute[] - (error #1064) Erreur de syntaxe prčs de '(Password, Name, Level, Admin, Helper, Premium, UpgradePoints, ConnectedTime, Re' ŕ la ligne 1 [22:58:05] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError [22:58:05] [DEBUG] Calling callback "OnQueryError"..
new query[1500], string[1500], string2[500]; format(string, sizeof(string), "UPDATE accounts (Password, Name, Level, Admin, Helper, Premium, UpgradePoints"); format(string2, sizeof(string2), ", ConnectedTime, Registered, Sex, Age, Origin, Muted, Respect, Cash, Bank, Crimes, Kills, Deaths, Arrested, WantedDeaths"); strcat(string, string2, sizeof(string)); format(string2, sizeof(string2), ", Phonebook, LottoNr, Fishes, BiggestFish, Job, Paycheck, HeadValue, Materials, Drugs, Lider, Membru, Rank, Skin, DetSkill"); strcat(string, string2, sizeof(string)); format(string2, sizeof(string2), ", SexSkill, BoxSkill, JackSkill, CarSkill, NewsSkill, DrugsSkill, CookSkill, FishSkill, pHealth, Interior, Local, WantedLevel"); strcat(string, string2, sizeof(string)); format(string2, sizeof(string2), ", Jailed, JailTime, Telefon, FirstCar, SecondCar, Helicopter, Boat, Plane, Fwarn, House, Business, CarLic, FlyLic, BoatLic, FishLic"); strcat(string, string2, sizeof(string)); format(string2, sizeof(string2), ", GunLic, Gun1, Gun2, Gun3, Gun4, Ammo1, Ammo2, Ammo3, Ammo4, CarTime, PayDay, PayDayHad, CDPlayer, Wins, Loses, AlcoholPerk"); strcat(string, string2, sizeof(string)); format(string2, sizeof(string2), ", DrugPerk, MiserPerk, PainPerk, TraderPerk, Tutorial, Warnings, Adjustable, Married, AcceptPoints, MarriedTo, JobCD, WalkieTalkie"); strcat(string, string2, sizeof(string)); format(string2, sizeof(string2), ", GasCan, Coins) SET ('%s', '%s', %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d"); strcat(string, string2, sizeof(string)); format(string2, sizeof(string2), ", %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d"); strcat(string, string2, sizeof(string)); format(string2, sizeof(string2), ", %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d"); strcat(string, string2, sizeof(string)); format(string2, sizeof(string2), ", %d, %d, %d, %d, %d, %d, %d, %d, %d, '%s', %d, %d, %d, %d) WHERE ID = %d"); strcat(string, string2, sizeof(string)); mysql_format(mysql, query, sizeof(query), string, PlayerInfo[playerid][pKey], PlayerInfo[playerid][Name], PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pHelper], PlayerInfo[playerid][pDonateRank], PlayerInfo[playerid][pUpgrade], PlayerInfo[playerid][pConnectTime], PlayerInfo[playerid][pReg], PlayerInfo[playerid][pSex], PlayerInfo[playerid][pAge], PlayerInfo[playerid][pOrigin], PlayerInfo[playerid][pMuted], PlayerInfo[playerid][pExp], PlayerInfo[playerid][pCash], PlayerInfo[playerid][pBank], PlayerInfo[playerid][pCrimes], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pArrested], PlayerInfo[playerid][pWantedDeaths], PlayerInfo[playerid][pPhoneBook], PlayerInfo[playerid][pLottoNr], PlayerInfo[playerid][pFishes], PlayerInfo[playerid][pBiggestFish], PlayerInfo[playerid][pJob], PlayerInfo[playerid][pPayCheck], PlayerInfo[playerid][pHeadValue], PlayerInfo[playerid][pMats], PlayerInfo[playerid][pDrugs], PlayerInfo[playerid][pLider], PlayerInfo[playerid][pMembru], PlayerInfo[playerid][pRank], PlayerInfo[playerid][pChar], PlayerInfo[playerid][pDetSkill], PlayerInfo[playerid][pSexSkill], PlayerInfo[playerid][pBoxSkill], PlayerInfo[playerid][pJackSkill], PlayerInfo[playerid][pMechSkill], PlayerInfo[playerid][pNewsSkill], PlayerInfo[playerid][pDrugsSkill], PlayerInfo[playerid][pCookSkill], PlayerInfo[playerid][pFishSkill], PlayerInfo[playerid][pHealth], PlayerInfo[playerid][pInt], PlayerInfo[playerid][pLocal], WantedLevel[playerid], PlayerInfo[playerid][pJailed], PlayerInfo[playerid][pJailTime], PlayerInfo[playerid][pPtelefon], PlayerInfo[playerid][pCarKey1], PlayerInfo[playerid][pCarKey2], PlayerInfo[playerid][pHeliKey], PlayerInfo[playerid][pBoatKey], PlayerInfo[playerid][pPlaneKey], PlayerInfo[playerid][pFwarn], PlayerInfo[playerid][pHouseKey], PlayerInfo[playerid][pBizzKey], PlayerInfo[playerid][pCarLic], PlayerInfo[playerid][pFlyLic], PlayerInfo[playerid][pBoatLic], PlayerInfo[playerid][pFishLic], PlayerInfo[playerid][pGunLic], PlayerInfo[playerid][pGun1], PlayerInfo[playerid][pGun2], PlayerInfo[playerid][pGun3], PlayerInfo[playerid][pGun4], PlayerInfo[playerid][pAmmo1], PlayerInfo[playerid][pAmmo2], PlayerInfo[playerid][pAmmo3], PlayerInfo[playerid][pAmmo4], PlayerInfo[playerid][pCarTime], PlayerInfo[playerid][pPayDay], PlayerInfo[playerid][pPayDayHad], PlayerInfo[playerid][pCDPlayer], PlayerInfo[playerid][pWins], PlayerInfo[playerid][pLoses], PlayerInfo[playerid][pAlcoholPerk], PlayerInfo[playerid][pDrugPerk], PlayerInfo[playerid][pMiserPerk], PlayerInfo[playerid][pPainPerk], PlayerInfo[playerid][pTraderPerk], PlayerInfo[playerid][pTut], PlayerInfo[playerid][pWarns], PlayerInfo[playerid][pAdjustable], PlayerInfo[playerid][pMarried], PlayerInfo[playerid][pAcceptPoints], PlayerInfo[playerid][pMarriedTo], PlayerInfo[playerid][pJobCD], PlayerInfo[playerid][pWalkTalkie], PlayerInfo[playerid][pGasCan], PlayerInfo[playerid][pCoins], PlayerInfo[playerid][ID]); mysql_tquery(mysql, query, "", "");
// This function adds the given Money and Score values to the given player
Player_Reward(playerid, Money, Score)
{
new Query[128];
// Add the given Money and Score to the player's account
pData[playerid][PlayerMoney] = pData[playerid][PlayerMoney] + Money;
pData[playerid][PlayerScore] = pData[playerid][PlayerScore] + Score;
// Update money and score for this player in the player's account in MySQL
mysql_format(SQL_db, Query, sizeof(Query), "UPDATE playerdata SET Money = '%i', Score = '%i' WHERE ID = '%i'", pData[playerid][PlayerMoney], pData[playerid][PlayerScore], pData[playerid][SQLID]);
mysql_tquery(SQL_db, Query, "", "");
return 1;
}