SQL Update Help [REP]
#1

Basically, I want to save the players info... When I only have the positions... It work... When I have everything else, it doesn't. Here is my code:

pawn Код:
new query[500], PlayerName[MAX_PLAYER_NAME];
    GetPlayerPos(playerid, pStats[playerid][PosX], pStats[playerid][PosY], pStats[playerid][PosZ]);
    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
   
    format(query, sizeof(query), "UPDATE accounts SET posx=%f, posy=%f, posz=%f, name=%s, password=%s, adminname=%s, adminlevel=%d, job=%d, money=%d, health=%f, armour=%f, skin=%d, vip=%d, jailed=%d, hours=%d, materials=%d, banned=%d WHERE name='%s'", pStats[playerid][PosX], pStats[playerid][PosY], pStats[playerid][PosZ], PlayerName, pStats[playerid][Password],
    pStats[playerid][AdminName], pStats[playerid][ALevel], pStats[playerid][Job], pStats[playerid][Money], pStats[playerid][Health], pStats[playerid][Armour], pStats[playerid][Skin], pStats[playerid][VIP], pStats[playerid][Jailed], pStats[playerid][Hours], pStats[playerid][Materials], pStats[playerid][Banned], PlayerName);
    mysql_query(query);
Reply
#2

You need to wrap single quotation marks around strings. Plus, you should space properly - use a space between and after your equal signs, it's messy not to do so and probably would cause a problem for you.

pawn Код:
format(query, sizeof(query), "UPDATE accounts SET posx = %f, posy = %f, posz = %f, name = '%s', password = '%s', adminname = '%s', adminlevel= %d, job = %d, money = %d, health = %f, armour = %f, skin = %d, vip = %d, jailed = %d, hours = %d, materials = %d, banned = %d WHERE name='%s'", pStats[playerid][PosX], pStats[playerid][PosY], pStats[playerid][PosZ], PlayerName, pStats[playerid][Password],
    pStats[playerid][AdminName], pStats[playerid][ALevel], pStats[playerid][Job], pStats[playerid][Money], pStats[playerid][Health], pStats[playerid][Armour], pStats[playerid][Skin], pStats[playerid][VIP], pStats[playerid][Jailed], pStats[playerid][Hours], pStats[playerid][Materials], pStats[playerid][Banned], PlayerName);
    mysql_query(query);
Reply
#3

Quote:
Originally Posted by Calgon
Посмотреть сообщение
You need to wrap single quotation marks around strings. Plus, you should space properly - use a space between and after your equal signs, it's messy not to do so and probably would cause a problem for you.

pawn Код:
format(query, sizeof(query), "UPDATE accounts SET posx = %f, posy = %f, posz = %f, name = '%s', password = '%s', adminname = '%s', adminlevel= %d, job = %d, money = %d, health = %f, armour = %f, skin = %d, vip = %d, jailed = %d, hours = %d, materials = %d, banned = %d WHERE name='%s'", pStats[playerid][PosX], pStats[playerid][PosY], pStats[playerid][PosZ], PlayerName, pStats[playerid][Password],
    pStats[playerid][AdminName], pStats[playerid][ALevel], pStats[playerid][Job], pStats[playerid][Money], pStats[playerid][Health], pStats[playerid][Armour], pStats[playerid][Skin], pStats[playerid][VIP], pStats[playerid][Jailed], pStats[playerid][Hours], pStats[playerid][Materials], pStats[playerid][Banned], PlayerName);
    mysql_query(query);
Thanks, it worked!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)