Mysql error 1064
#1

(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);
Reply
#2

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, "", "");
Reply
#3

Nope not working
Reply
#4

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, "", "");
Reply
#5

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)