Jump to content
  • 0

Problema tag "UPDATE"


Stark.sys

Question

Problemă întâlnită (descriere): Imi da urmatoarele erori:

Ero(area / rile) / warning-(ul / urile): 
Liniile de cod / sursa / script-ul: 

 

D:SA-MPMySQLgamemodessrpg.pwn(167) : error 075: input line too long (after substitutions)

D:SA-MPMySQLgamemodessrpg.pwn(168) : error 037: invalid string (possibly non-terminated string)
D:SA-MPMySQLgamemodessrpg.pwn(168) : error 017: undefined symbol "UPDATE"
D:SA-MPMySQLgamemodessrpg.pwn(168) : error 029: invalid expression, assumed zero
D:SA-MPMySQLgamemodessrpg.pwn(168) : fatal error 107: too many error messages on one line
 
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
5 Errors.
public SaveAccount(playerid)
{
	new save[3300], kog[128], o, m, s;
	gettime(o, m, s);
	format(kog, sizeof(kog), "%d:%d:%d", o, m, s);
	new iName[MAX_PLAYER_NAME], iIp[16], Float:pos[3];
	GetPlayerIp(playerid, iIp, sizeof(iIp));
	GetPlayerName(playerid, iName, sizeof(iName));
    GetPlayerPos(playerid, pos[0], pos[1], pos[2]);

	format(save, sizeof(save), "UPDATE `accounts` SET `Username`='%s',`IP`='%s',`Age`='%d',`Sex`='%s',`Admin`='%d',`Helper`='%d',`Premium`='%d',`Premium-Point`='%d',`Faction`='%d',`Lider`='%d',`Member`='%d',`Warn`='%d',`Banned`='%d',`Job`='%d',`Respect`='%d',`Money`='%d',`Bank`='%d',`Score`='%d',`Jail`='%d',`Duty`='%d',`Mute`='%d',`Phone`='%d',`Number`='%d',`Credit`='%d',`Phone-Book`='%d',`Drive-License`='%d',`Fly-License`='%d',`Boat-License`='%d',`Gun-License`='%d',`Interior`='%d',`Skin`='%d',`Wanted`='%d',`PM`='%d',`Spawn`='%f',`Kills`='%d',`Death`='%d',`Pos_X`='%f',`Pos_Y`='%f',`Pos_Z`='%f',`Register`='%s',`Last-Login`='%s' WHERE `ID`='%d'",
	iName, iIp, playerid, UserAcc[playerid][uAge], UserAcc[playerid][uSex], UserAcc[playerid][uAdmin], UserAcc[playerid][uHelper], UserAcc[playerid][uPremium], UserAcc[playerid][uPremiumP], UserAcc[playerid][uFaction], UserAcc[playerid][uLeader], UserAcc[playerid][uMember], UserAcc[playerid][uWarn], UserAcc[playerid][uBanned], UserAcc[playerid][uJob], UserAcc[playerid][uRP], GetPlayerMoney(playerid), UserAcc[playerid][uBank], GetPlayerScore(playerid), UserAcc[playerid][uJail], UserAcc[playerid][uDuty], UserAcc[playerid][uMute],UserAcc[playerid][uPhone], UserAcc[playerid][uNumber], UserAcc[playerid][uCredit], UserAcc[playerid][uPB], UserAcc[playerid][uDlic], UserAcc[playerid][uFlic], UserAcc[playerid][uBlic], UserAcc[playerid][uGlic], UserAcc[playerid][uInt], GetPlayerSkin(playerid), GetPlayerWantedLevel(playerid), UserAcc[playerid][uPM], UserAcc[playerid][uSpawn], UserAcc[playerid][uKills], UserAcc[playerid][uDeath], pos[0], pos[1], pos[2], UserAcc[playerid][uReg], kog, playerid);
	mysql_query(cHandle, save, true);
	GameTextForPlayer(playerid, "~w~~r~Your account has been save !", 3000, 3);
	return 1;
} 

Imagini / Video (optional): - 
Aţi încercat să rezolvaţi singur?: Da.

"Mulţi programatori buni fac programare nu pentru că se aşteaptă să câştige bani sau să fie lăudaţi de public, ci pentru că e amuzant să programezi." - Linus Torvalds

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

In primul rand query-ul este gresit.

 

La replacement-uri, folosesti ' doar daca este un text, daca este o valoare de tip integer sau float nu mai pui ' inainte si dupa replacement.

 

Exemplu:

 

"UPDATE `tabel` SET `valoare1` = %d, `text` = '%s', `locatieX` = %f WHERE `id` = %d".

 

 

In al doilea rand, iti recomand sa faci 2-3 query-uri astfel incat acestea sa nu fie prea mari. (separi acel query in 2-3)

Rate me :)

Link to comment
Share on other sites

[pawn]public SaveAccount(playerid)
{
new save[3300], kog[128], o, m, s;
gettime(o, m, s);
format(kog, sizeof(kog), "%d:%d:%d", o, m, s);
new iName[MAX_PLAYER_NAME], iIp[16], Float:pos[3];
GetPlayerIp(playerid, iIp, sizeof(iIp));
GetPlayerName(playerid, iName, sizeof(iName));
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);

format(save, sizeof(save), "UPDATE `accounts` SET `Username`='%s',`IP`='%s',`Age`='%d',`Sex`='%s',`Admin`='%d',`Helper`='%d',`Premium`='%d',`Premium-Point`='%d',`Faction`='%d',`Lider`='%d',`Member`='%d',`Warn`='%d',`Banned`='%d',`Job`='%d',`Respect`='%d',`Money`='%d',`Bank`='%d',`Score`='%d',`Jail`='%d',`Duty`='%d',`Mute`='%d',`Phone`='%d',`Number`='%d',`Credit`='%d',`Phone-Book`='%d',`Drive-License`='%d',`Fly-License`='%d',`Boat-License`='%d',`Gun-License`='%d',`Interior`='%d',`Skin`='%d',`Wanted`='%d',`PM`='%d',`Spawn`='%f',`Kills`='%d',`Death`='%d',`Pos_X`='%f',`Pos_Y`='%f',`Pos_Z`='%f',`Register`='%s',`Last-Login`='%s' WHERE `ID`='%d'",
iName, iIp, playerid, UserAcc[playerid][uAge], UserAcc[playerid][uSex], UserAcc[playerid][uAdmin], UserAcc[playerid][uHelper], UserAcc[playerid][uPremium], UserAcc[playerid][uPremiumP], UserAcc[playerid][uFaction], UserAcc[playerid][uLeader], UserAcc[playerid][uMember], UserAcc[playerid][uWarn], UserAcc[playerid][uBanned], UserAcc[playerid][uJob], UserAcc[playerid][uRP], GetPlayerMoney(playerid), UserAcc[playerid][uBank], GetPlayerScore(playerid), UserAcc[playerid][uJail], UserAcc[playerid][uDuty], UserAcc[playerid][uMute],UserAcc[playerid][uPhone], UserAcc[playerid][uNumber], UserAcc[playerid][uCredit], UserAcc[playerid][uPB], UserAcc[playerid][uDlic], UserAcc[playerid][uFlic], UserAcc[playerid][uBlic], UserAcc[playerid][uGlic], UserAcc[playerid][uInt], GetPlayerSkin(playerid), GetPlayerWantedLevel(playerid), UserAcc[playerid][uPM], UserAcc[playerid][uSpawn], UserAcc[playerid][uKills], UserAcc[playerid][uDeath], pos[0], pos[1], pos[2], UserAcc[playerid][uReg], kog, playerid);
mysql_query(cHandle, save, true);
GameTextForPlayer(playerid, "~w~~r~Your account has been save !", 3000, 3);
return 1;
}[/pawn]

 

168 = linia 10 aici

167 = 9 - 8

 

"Mulţi programatori buni fac programare nu pentru că se aşteaptă să câştige bani sau să fie lăudaţi de public, ci pentru că e amuzant să programezi." - Linus Torvalds

Link to comment
Share on other sites

[pawn]format(save, sizeof(save), "UPDATE `accounts` SET `Username`='%s',`IP`='%s',`Age`='%d',`Sex`='%s',`Admin`='%d',`Helper`='%d',`Premium`='%d',`Premium-Point`='%d',`Faction`='%d',`Lider`='%d',`Member`='%d',`Warn`='%d',`Banned`='%d',`Job`='%d',`Respect`='%d',`Money`='%d',`Bank`='%d',`Score`='%d',`Jail`='%d',`Duty`='%d',`Mute`='%d',`Phone`='%d',`Number`='%d',`Credit`='%d',`Phone-Book`='%d',`Drive-License`='%d',`Fly-License`='%d',`Boat-License`='%d',`Gun-License`='%d',`Interior`='%d',`Skin`='%d',`Wanted`='%d',`PM`='%d',`Spawn`='%f',`Kills`='%d',`Death`='%d',`Pos_X`='%f',`Pos_Y`='%f',`Pos_Z`='%f',`Register`='%s',`Last-Login`='%s' WHERE `ID`='%d'",
iName, iIp, playerid, UserAcc[playerid][uAge], UserAcc[playerid][uSex], UserAcc[playerid][uAdmin], UserAcc[playerid][uHelper], UserAcc[playerid][uPremium], UserAcc[playerid][uPremiumP], UserAcc[playerid][uFaction], UserAcc[playerid][uLeader], UserAcc[playerid][uMember], UserAcc[playerid][uWarn], UserAcc[playerid][uBanned], UserAcc[playerid][uJob], UserAcc[playerid][uRP], GetPlayerMoney(playerid), UserAcc[playerid][uBank], GetPlayerScore(playerid), UserAcc[playerid][uJail], UserAcc[playerid][uDuty], UserAcc[playerid][uMute],UserAcc[playerid][uPhone], UserAcc[playerid][uNumber], UserAcc[playerid][uCredit], UserAcc[playerid][uPB], UserAcc[playerid][uDlic], UserAcc[playerid][uFlic], UserAcc[playerid][uBlic], UserAcc[playerid][uGlic], UserAcc[playerid][uInt], GetPlayerSkin(playerid), GetPlayerWantedLevel(playerid), UserAcc[playerid][uPM], UserAcc[playerid][uSpawn], UserAcc[playerid][uKills], UserAcc[playerid][uDeath], pos[0], pos[1], pos[2], UserAcc[playerid][uReg], kog, playerid);[/pawn]

 

Fa-o mai mica.

Link to comment
Share on other sites

in ce sens ?

eu folosesc mysql r9 pot face ca la mysql_query(); sa fac 2 format()?

"Mulţi programatori buni fac programare nu pentru că se aşteaptă să câştige bani sau să fie lăudaţi de public, ci pentru că e amuzant să programezi." - Linus Torvalds

Link to comment
Share on other sites

Pune asa

 

[pawn] format(save, sizeof(save), "UPDATE `accounts` SET `Username`='%s',`IP`='%s',`Age`='%d',`Sex`='%s',`Admin`='%d',`Helper`='%d',`Premium`='%d',`Premium-Point`='%d',`Faction`='%d',`Lider`='%d',`Member`='%d',`Warn`='%d',`Banned`='%d',`Job`='%d',`Respect`='%d',`Money`='%d',`Bank`='%d',`Score`='%d',`Jail`='%d',`Duty`='%d',`Mute`='%d',`Phone`='%d',`Number`='%d',`Credit`='%d',`Phone-Book`='%d',`Drive-License`='%d',`Fly-License`='%d',`Boat-License`='%d',`Gun-License`='%d',`Interior`='%d',`Skin`='%d',`Wanted`='%d',`PM`='%d',`Spawn`='%f',`Kills`='%d',`Death`='%d',`Pos_X`='%f',`Pos_Y`='%f',`Pos_Z`='%f',`Register`='%s',`Last-Login`='%s' WHERE `ID`='%d'",
iName, iIp, playerid, UserAcc[playerid][uAge], UserAcc[playerid][uSex], UserAcc[playerid][uAdmin], UserAcc[playerid][uHelper],

UserAcc[playerid][uPremium], UserAcc[playerid][uPremiumP], UserAcc[playerid][uFaction], UserAcc[playerid][uLeader], UserAcc[playerid][uMember], UserAcc[playerid][uWarn], UserAcc[playerid][uBanned], UserAcc[playerid][uJob],

UserAcc[playerid][uRP], GetPlayerMoney(playerid), UserAcc[playerid][uBank], GetPlayerScore(playerid), UserAcc[playerid][uJail], UserAcc[playerid][uDuty], UserAcc[playerid][uMute],UserAcc[playerid][uPhone],

UserAcc[playerid][uNumber], UserAcc[playerid][uCredit], UserAcc[playerid][uPB], UserAcc[playerid][uDlic], UserAcc[playerid][uFlic], UserAcc[playerid][uBlic], UserAcc[playerid][uGlic], UserAcc[playerid][uInt],

GetPlayerSkin(playerid), GetPlayerWantedLevel(playerid), UserAcc[playerid][uPM], UserAcc[playerid][uSpawn], UserAcc[playerid][uKills], UserAcc[playerid][uDeath], pos[0], pos[1], pos[2], UserAcc[playerid][uReg], kog, playerid);
[/pawn]

 

Cam asa trebuie sa arate. Daca nu o faci cu strins. Prin mai putine parti, sau chiar cu format poti.

Link to comment
Share on other sites

aceleasi erori :-? ceva nu e bine, o sa verific maine si revin cu edit.

"Mulţi programatori buni fac programare nu pentru că se aşteaptă să câştige bani sau să fie lăudaţi de public, ci pentru că e amuzant să programezi." - Linus Torvalds

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.