Jump to content
  • 0

pomoc mysql - eror


Anonimus24

Dotaz

Ahoj potřeboval bych poradit jak opravit chybu

Spoiler

UpdatePlayerData(playerid, reason)
{
	if (Player[playerid][Logged] == false) return 0;

	// if the client crashed, it's not possible to get the player's position in OnPlayerDisconnect callback
	// so we will use the last saved position (in case of a player who       ed and crashed/kicked, the position will be the default spawn point)
	if (reason == 1)
	{
		GetPlayerPos(playerid, Player[playerid][X_Pos], Player[playerid][Y_Pos], Player[playerid][Z_Pos]);
		GetPlayerFacingAngle(playerid, Player[playerid][A_Pos]);
	}
	new query[145];
	mysql_format(g_SQL, query, sizeof query, "UPDATE `players` SET `x` = %f,\
 	`y` = %f,\
 	`z` = %f,\
 	`angle` = %f,\
  	`interior` = %d,\
	`Kills` = %d,\
 	`Deaths` = %d,\
  	`WantedLevel` = %d,\
   	`Money` = %d,\
    `HousePenize` = %d,\
	`Bank` = %d,\
	`PremiumBody` = %d,\
	`PlatebniKarta` = %d,\
	`Skin` = %d,\
	`LCity` = %d,\
	`Minutes` = %d,\
	`FightingStyle` = %d,\
	`Marihuana` = %d,\
	`MarihuanaZavislost` = %d,\
	`Ukoly` = %d,\
	`VezeniTime` = %d,\
	`Taxa` = %d,\
	`Jailed` = %d,\
	`Spectate` = %d,\
	`Vyplata` = %d,\
	`CmdOn` = %d,\
	`CmdOnHrac` = %d,\
	`RealHodiny` = %d,\
	`HerniHodiny` = %d,\
	`S_Lokace` = %d,\
	`S_TitulHracu` = %d,\
	`S_AMUSIC` = %d,\
	`S_ChatEx` = %d,\
	`S_ATtext` = %d,\
	`S_Trasy` = %d,\
	`S_Zony` = %d,\
	`S_PM` = %d,\
	`S_PM_Vzkaz` = %s,\
	`S_Barva_Nick` = %d,\
	`S_Barva_Nick_Vyber` = %d,\
	`S_Anketa` = %d,\
	`S_Warp` = %d,\
	`S_AZona` = %d,\
	`S_APort` = %d,\
	`S_AZavod` = %d,\
	`S_Spawn` = %d,\
	`S_Oznaceni` = %d,\
	`S_ConectDis` = %d,\
	`S_ConectCon` = %d,\
	`S_ATCHAT` = %d,\
	`S_TECHAT` = %d,\
	`S_Brneni` = %d,\
	`S_Vesta` = %d,\
	`S_InfoBox` = %d,\
	`S_KillList` = %d,\
	`RidicakB` = %d,\
	`RidicakA` = %d,\
	`RidicakCE` = %d,\
	`RidicakD` = %d,\
	`LeteckyP` = %d,\
	`ZbrojniP` = %d WHERE `id` = %d LIMIT 1",
	Player[playerid][X_Pos],
	Player[playerid][Y_Pos],
	Player[playerid][Z_Pos],
	Player[playerid][A_Pos],
	GetPlayerInterior(playerid),
	Player[playerid][Kills],
	Player[playerid][Deaths],
	Player[playerid][WantedLevel],
	Player[playerid][Money],
	Player[playerid][HousePenize],
	Player[playerid][Bank],
	Player[playerid][PremiumBody],
	Player[playerid][PlatebniKarta],
	Player[playerid][Skin],
	Player[playerid][LCity],
	Player[playerid][Minutes],
	Player[playerid][FightingStyle],
	Player[playerid][Marihuana],
	Player[playerid][MarihuanaZavislost],
	Player[playerid][Ukoly],
	Player[playerid][VezeniTime],
	Player[playerid][Taxa],
	Player[playerid][Jailed],
	Player[playerid][Spectate],
	Player[playerid][Vyplata],
	Player[playerid][CmdOn],
	Player[playerid][CmdOnHrac],
	Player[playerid][RealHodiny],
	Player[playerid][HerniHodiny],
	Player[playerid][S_Lokace],
	Player[playerid][S_TitulHracu],
	Player[playerid][S_AMUSIC],
	Player[playerid][S_ChatEx],
	Player[playerid][S_ATtext],
	Player[playerid][S_Trasy],
	Player[playerid][S_Zony],
	Player[playerid][S_PM],
	Player[playerid][S_PM_Vzkaz],
	Player[playerid][S_Barva_Nick],
	Player[playerid][S_Barva_Nick_Vyber],
	Player[playerid][S_Anketa],
	Player[playerid][S_Warp],
	Player[playerid][S_AZona],
	Player[playerid][S_APort],
	Player[playerid][S_AZavod],
	Player[playerid][S_Spawn],
	Player[playerid][S_Oznaceni],
	Player[playerid][S_ConectDis],
	Player[playerid][S_ConectCon],
	Player[playerid][S_ATCHAT],
	Player[playerid][S_TECHAT],
	Player[playerid][S_Brneni],
	Player[playerid][S_Vesta],
	Player[playerid][Zivoty],
	Player[playerid][S_InfoBox],
	Player[playerid][S_KillList],
	Player[playerid][RidicakB],
	Player[playerid][RidicakA],
	Player[playerid][RidicakCE],
	Player[playerid][RidicakD],
	Player[playerid][LeteckyP],
	Player[playerid][ZbrojniP],
	Player[playerid][IDDB]);
	mysql_tquery(g_SQL, query);
	return 1;
}

 

Chyba

Spoiler

C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\gamemodes\SZ1.pwn(19529) : error 075: input line too long (after substitutions)
C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\gamemodes\SZ1.pwn(19530) : error 037: invalid string (possibly non-terminated string)
C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\gamemodes\SZ1.pwn(19530) : error 017: undefined symbol "UPDATE"
C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\gamemodes\SZ1.pwn(19530) : error 029: invalid expression, assumed zero
C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\gamemodes\SZ1.pwn(19530) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.

 

Podrobnosti

Spoiler

MySQL - Verze R41-4

Předem děkuji.

Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 1
před 1hodinou, Anonimus24 said:

Jenže to mi pak MySQL v konzoli píše toto 


[22:15:01] [plugins/mysql] error #1064 while executing query "UPDATE `players` SET `x` = 1958.378295,`y` = 1343.157226angle = '270.142486'interior = '0'Kills = '0'Deaths = '0'WantedLevel = '0'Money = '0'HousePenize = '0'Bank = '0'PremiumBody = '0'PlatbaOnOff = '0'PlatebniKarta = '0'Skin = '0'LCity = '-1'Minutes = '0'FightingStyle = '4'Marihuana = '0'MarihuanaZavislost = '0'Ukoly = '1'VezeniTime = '0'Taxa = '0'Jailed = '0'Spectate = '-1'PlayerJeSpecovan = '0'Vyplata = '0'CmdOn = '0'CmdOnHrac = '0'RealHodiny = '1'HerniHodiny = '0'S_Lokace = '0'S_TitulHracu ": 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 'angle = '270.142486'interior = '0'Kills = '0'Deaths = '0'WantedLevel = '0'Money ' at line 1

 

Skontroluj si, či si do query nezabudol vložiť nejaké čiarky (napríklad medzi y a angle, prípadne na ďalšie miesta). 

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

Ahoj, nejde o chybu špecifickú pre MySQL plugin. 

SZ1.pwn(19529) : error 075: input line too long (after substitutions)

ti hovorí, že riadok číslo 19529 v súbore SZ1.pwn je príliš dlhý (do dĺžky riadka sa počítajú aj znaky v ďalších riadkoch, ktoré si pridal pomocou \). 

Ak si správne spomínam, ZeeXov compiler umožňuje používať aj dlhšie riadky.
Ak by sa ti nepodarilo spojazdniť ten compiler, môžeš skúsiť to query formátovať postupne po častiach a tie potom pospájať do výsledného query (napr. cez strcat). 

 

Keď sa ti podarí túto chybu s dlhým riadkom odstrániť, ešte si potom rozmysli, či ti v

new query[145];

stačí 145 (144) znakov na uloženie celého toho dlhého query.

Edited by DuFF
Link to comment
Share on other sites

  • 0
před 2hodinami, DuFF said:

Ahoj, nejde o chybu špecifickú pre MySQL plugin. 


SZ1.pwn(19529) : error 075: input line too long (after substitutions)

ti hovorí, že riadok číslo 19529 v súbore SZ1.pwn je príliš dlhý (do dĺžky riadka sa počítajú aj znaky v ďalších riadkoch, ktoré si pridal pomocou \). 

Ak si správne spomínam, ZeeXov compiler umožňuje používať aj dlhšie riadky.
Ak by sa ti nepodarilo spojazdniť ten compiler, môžeš skúsiť to query formátovať postupne po častiach a tie potom pospájať do výsledného query (napr. cez strcat). 

Keď sa ti poradí túto chybu odstrániť, ešte si rozmysli, či ti v


new query[145];

stačí 145 (144) znakov na uloženie celého toho dlhého query.

Když zvětším 

new query[145];

Tak i přesto nejde.

--------------------------------------

ZeeXov compiler když ho chci využívat píše mi to tyto tento error

C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\pawno\include\sscanf2.inc(30) : fatal error 111: user error: Please include <a_npc> or <a_samp> first.

Compilation aborted.

Pawn compiler 3.10.10	 	 	Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

Zkoušel jsem i tento způsob 

#define acf(%0) format(str,sizeof(str),%0), strcat(query,str)
stock SaveAccount(playerid) {
    new query[500];
    format(query,sizeof(query),"UPDATE `accounts` SET ");
    // для примера
    acf("Skin='%d',",PlayerInfo[playerid][pSkin]);
    acf("Money='%d'",PlayerInfo[playerid][pMoney]);

    acf(" WHERE Name='%s'",PlayerName(playerid));
    mysql_query(dbHandle, query, false);
}

Jenže to mi pak MySQL v konzoli píše toto 

[22:15:01] [plugins/mysql] error #1064 while executing query "UPDATE `players` SET `x` = 1958.378295,`y` = 1343.157226angle = '270.142486'interior = '0'Kills = '0'Deaths = '0'WantedLevel = '0'Money = '0'HousePenize = '0'Bank = '0'PremiumBody = '0'PlatbaOnOff = '0'PlatebniKarta = '0'Skin = '0'LCity = '-1'Minutes = '0'FightingStyle = '4'Marihuana = '0'MarihuanaZavislost = '0'Ukoly = '1'VezeniTime = '0'Taxa = '0'Jailed = '0'Spectate = '-1'PlayerJeSpecovan = '0'Vyplata = '0'CmdOn = '0'CmdOnHrac = '0'RealHodiny = '1'HerniHodiny = '0'S_Lokace = '0'S_TitulHracu ": 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 'angle = '270.142486'interior = '0'Kills = '0'Deaths = '0'WantedLevel = '0'Money ' at line 1

Jinak děkuji za radu :)

 

 

 

Link to comment
Share on other sites

  • 0
před 1 hodinou, DuFF said:

Skontroluj si, či si do query nezabudol vložiť nejaké čiarky (napríklad medzi y a angle, prípadne na ďalšie miesta). 

tak ted mám horšíproblém při tomto

Spoiler

#define acf(%0) format(str,sizeof(str),%0), strcat(query,str)
stock SaveAccount(playerid) {
    new query[500];
    format(query,sizeof(query),"UPDATE `accounts` SET ");
    // для примера
    acf("Skin='%d',",PlayerInfo[playerid][pSkin]);
    acf("Money='%d'",PlayerInfo[playerid][pMoney]);

    acf(" WHERE Name='%s'",PlayerName(playerid));
    mysql_query(dbHandle, query, false);
}

mám teď tyto erory...

Spoiler

C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\gamemodes\SZ1.pwn(19504) : error 017: undefined symbol "str"
C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\gamemodes\SZ1.pwn(19504) : error 017: undefined symbol "str"
C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\gamemodes\SZ1.pwn(19504) : error 029: invalid expression, assumed zero
C:\Users\kisli\Desktop\SA-MP 0.3.7 nová verze 2021\gamemodes\SZ1.pwn(19504) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

 

 

Link to comment
Share on other sites

  • 0
  • Globální moderátor

vzdyt ty errory jsou primocare...

#define acf(%0) format(str,sizeof(str),%0), strcat(query,str)

se pouziva `str`. Preprocessor ti ty definy nahrazuji v dobe kompilace a v tom bloku kodu zadnej `str` nemas nadeklarovanej. Uprav si bud ten define aby ti bral dalsi parametr, kterej se dosadi misto str a nebo si to `query` prejmenuj na `str` .

Link to comment
Share on other sites

  • 0
před 17minutami, HighPrint said:

vzdyt ty errory jsou primocare...


#define acf(%0) format(str,sizeof(str),%0), strcat(query,str)

se pouziva `str`. Preprocessor ti ty definy nahrazuji v dobe kompilace a v tom bloku kodu zadnej `str` nemas nadeklarovanej. Uprav si bud ten define aby ti bral dalsi parametr, kterej se dosadi misto str a nebo si to `query` prejmenuj na `str` .

jop již jsm vyřešil 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...