Mysql error 1064 -
TonyII - 19.01.2015
(error #1064) 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 'px = 236.024322,py = -306.421966,pz = 1.578125,pa = 33.499992,h' at line 1
It won't update the player data at all, it stays all 0 except for the username and password.
Code:
pawn Код:
stock SaveAccount(playerid)
{
GetPlayerPos(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
GetPlayerFacingAngle(playerid,PlayerInfo[playerid][pPosA]);
GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
GetPlayerArmour(playerid,PlayerInfo[playerid][pArmor]);
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
new string[2000];
format(query,sizeof(query),"UPDATE `users` SET ");
format(string,sizeof(string),"px = %f,",PlayerInfo[playerid][pPosX]);
strcat(query,string,sizeof(query));
format(string,sizeof(string),"py = %f,",PlayerInfo[playerid][pPosY]);
strcat(query,string,sizeof(query));
format(string,sizeof(string),"pz = %f,",PlayerInfo[playerid][pPosZ]);
strcat(query,string,sizeof(query));
format(string,sizeof(string),"pa = %f,",PlayerInfo[playerid][pPosA]);
strcat(query,string,sizeof(query));
format(string,sizeof(string),"hp = %f,",PlayerInfo[playerid][pHealth]);
strcat(query,string,sizeof(query));
format(string,sizeof(string),"armor = %f,",PlayerInfo[playerid][pArmor]);
strcat(query,string,sizeof(query));
format(string,sizeof(string)," WHERE username = '%e'",GPN(playerid));
strcat(query,string,sizeof(query));
mysql_tquery(sqlid,query);
Re: Mysql error 1064 -
JeaSon - 19.01.2015
try this
pawn Код:
stock SaveAccount(playerid)
{
GetPlayerPos(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
GetPlayerFacingAngle(playerid,PlayerInfo[playerid][pPosA]);
GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
GetPlayerArmour(playerid,PlayerInfo[playerid][pArmor]);
new string[2000];
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
mysql_format(sqlid,query,sizeof(query),"UPDATE `users` SET ,`px` = %f,`py` = %f,`pz` = %f,`pa` = %f,`hp` = %f,`armor` = %f WHERE username = '%e'",PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pPosA], PlayerInfo[playerid][pHealth], PlayerInfo[playerid][pArmor], GPN(playerid));
mysql_tquery(sqlid,query, "", "");
Re: Mysql error 1064 -
TonyII - 19.01.2015
Nope not working
Re: Mysql error 1064 -
JeaSon - 19.01.2015
my bad i puted a , after SET try this now it should work
pawn Код:
stock SaveAccount(playerid)
{
GetPlayerPos(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
GetPlayerFacingAngle(playerid,PlayerInfo[playerid][pPosA]);
GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
GetPlayerArmour(playerid,PlayerInfo[playerid][pArmor]);
new string[2000];
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
mysql_format(sqlid,query,sizeof(query),"UPDATE `users` SET `px` = %f,`py` = %f,`pz` = %f,`pa` = %f,`hp` = %f,`armor` = %f WHERE username = '%e'",PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pPosA], PlayerInfo[playerid][pHealth], PlayerInfo[playerid][pArmor], GPN(playerid));
mysql_tquery(sqlid,query, "", "");
Re: Mysql error 1064 -
PowerPC603 - 19.01.2015
Also, remove the "new string[2000];" line from that function, as string isn't required anymore.
And how big is your query variable?
It isn't declared inside that function, I assume it's a global variable somewhere else in your script.