Problem with Formats
#1

I had a problem, with error "input line too long(after subsitutions)". So i tried, to fix it by using formats.
No errors, but when i disconnect IG, then i checked MySQL debug file. It saved only the last query and all values were wrong. I apperciate, when somebody can help me.

Part of debug -
pawn Код:
[19:19:45] >> mysql_query( Connection handle: 1 )
[19:19:45] CMySQLHandler::Query(relvakuule1=2,relvakuule2=0,relvakuule3=299,relvakuule4=1150563017,relvakuule5=-995793747,relvakuule6=1096051053,relvakuule7=1337,relvakuule8=5,relvakuule9=4,relvakuule10=0,relvakuule11=0,relvakuule12=0 WHERE user='') - An error has occured. (Error ID: 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 'relvakuule1=2,relvakuule2=0,relvakuule3=299,relvakuule4=1150563017,relvakuule5=-' at line 1)
Part of OnPlayerDisconnect

pawn Код:
format(query,sizeof(query),"UPDATE playerdata SET score=%d,money=%d,skin=%d,posx=%f,posy=%f,posz=%f,adminlvl=%d,auaste=%d,grupeering=%d,virtworld=%d,interior=%d,firmavхti=%d,majavхti=%d,ajail=%d,ajailtime=%d,rahapangas=%d,atmkey=%d,");
        format(query,sizeof(query),"minutid=%d,mysqlid=%d,mangutunnid=%d, banned=%d,hoiatusi=%d,kiitusi=%d,relv0=%d,relv1=%d,relv2=%d,relv3=%d,relv4=%d,relv5=%d,relv6=%d,relv7=%d,relv8=%d,relv9=%d,relv10=%d,relv11=%d,relv12=%d,relvakuule0=%d,");
        format(query,sizeof(query),"relvakuule1=%d,relvakuule2=%d,relvakuule3=%d,relvakuule4=%d,relvakuule5=%d,relvakuule6=%d,relvakuule7=%d,relvakuule8=%d,relvakuule9=%d,relvakuule10=%d,relvakuule11=%d,relvakuule12=%d WHERE user='%s'",
        score,money,skin,x,y,z,adminlvl,auaste,grupeering,virtw,inter,firv6ti,majav6ti,ajail,ajailtime,rahapangas,atmkey,minutid,mysqlid,mangutunnid,banned,hoiatusi,kiitusi,PlayerInfo[playerid][pRelv0],PlayerInfo[playerid][pRelv1],PlayerInfo[playerid][pRelv3],PlayerInfo[playerid][pRelv4],PlayerInfo[playerid][pRelv5],PlayerInfo[playerid][pRelv6],PlayerInfo[playerid][pRelv7],PlayerInfo[playerid][pRelv8],
         PlayerInfo[playerid][pRelv9],PlayerInfo[playerid][pRelv10],PlayerInfo[playerid][pRelv11],PlayerInfo[playerid][pRelv12],PlayerInfo[playerid][pKuule0],PlayerInfo[playerid][pKuule1],
          PlayerInfo[playerid][pKuule2],PlayerInfo[playerid][pKuule3],PlayerInfo[playerid][pKuule4],PlayerInfo[playerid][pKuule5],PlayerInfo[playerid][pKuule6],PlayerInfo[playerid][pKuule7],PlayerInfo[playerid][pKuule8],
         PlayerInfo[playerid][pKuule10],PlayerInfo[playerid][pKuule11],PlayerInfo[playerid][pKuule12], pname);

        mysql_query(query);
Reply
#2

Try the following solution with your own variables/lines.
Quote:
Originally Posted by Jochemd
Посмотреть сообщение
You can break the line as long it ends with a comma, not in a string

pawn Код:
format(Query, sizeof(Query),
  "INSERT INTO `USERS` (`NAME`, `PASSWORD`, `IP`, `SCORE`, `CASH`, `ADMINLEVEL`, `KILLS`, `DEATHS`, `VIPLEVEL`, `Hours`, `Minutes`, `Seconds`, `RegisteredDate`, `LastX`, `LastY`, `LastZ`, `Interior`, `Armour`, `Health`, `GamingPoints`, `Wantedlevel`, `Skin`, `FightStyle`, `LastOn`) VALUES('%s','%s','%s', '0', '500', '0', '0', '0', '0', '0', '0', '0', '%s', '0', '0', '0', '0', '0', '0', '0', '0', '%d', '%s', '0')",
  name, inputtext, ip, strdate, Skin, GetPlayerFightStyleName(playerid)); // Error line (250)
Reply
#3

Once i need to break it anyway, so im looking problem to my my answer, why my method is not working.
Reply
#4

Debug it:
pawn Код:
print(query);
mysql_query(query);
Then get the output it printed to the console/server log and execute that query through the phpMyAdmin. It will let you know what was the problem.

EDIT: You haven't formatted the first two texts at all and it gets only the last one.

Change to:
pawn Код:
format(query,sizeof(query),"UPDATE playerdata SET score=%d,money=%d,skin=%d,posx=%f,posy=%f,posz=%f,adminlvl=%d,auaste=%d,grupeering=%d,virtworld=%d,interior=%d,firmavхti=%d,majavхti=%d,ajail=%d,ajailtime=%d,rahapangas=%d,atmkey=%d,",score,money,skin,x,y,z,adminlvl,auaste,grupeering,virtw,inter,firv6ti,majav6ti,ajail,ajailtime,rahapangas,atmkey);
format(query,sizeof(query),"%sminutid=%d,mysqlid=%d,mangutunnid=%d, banned=%d,hoiatusi=%d,kiitusi=%d,relv0=%d,relv1=%d,relv2=%d,relv3=%d,relv4=%d,relv5=%d,relv6=%d,relv7=%d,relv8=%d,relv9=%d,relv10=%d,relv11=%d,relv12=%d,relvakuule0=%d,",query,minutid,mysqlid,mangutunnid,banned,hoiatusi,kiitusi,PlayerInfo[playerid][pRelv0],PlayerInfo[playerid][pRelv1],
    PlayerInfo[playerid][pRelv3],PlayerInfo[playerid][pRelv4],PlayerInfo[playerid][pRelv5],PlayerInfo[playerid][pRelv6],PlayerInfo[playerid][pRelv7],PlayerInfo[playerid][pRelv8],PlayerInfo[playerid][pRelv9],PlayerInfo[playerid][pRelv10],PlayerInfo[playerid][pRelv11],PlayerInfo[playerid][pRelv12],PlayerInfo[playerid][pKuule0]);
format(query,sizeof(query),"%srelvakuule1=%d,relvakuule2=%d,relvakuule3=%d,relvakuule4=%d,relvakuule5=%d,relvakuule6=%d,relvakuule7=%d,relvakuule8=%d,relvakuule9=%d,relvakuule10=%d,relvakuule11=%d,relvakuule12=%d WHERE user='%s'",query,PlayerInfo[playerid][pKuule1],PlayerInfo[playerid][pKuule2],PlayerInfo[playerid][pKuule3],PlayerInfo[playerid][pKuule4],
    PlayerInfo[playerid][pKuule5],PlayerInfo[playerid][pKuule6],PlayerInfo[playerid][pKuule7],PlayerInfo[playerid][pKuule8],PlayerInfo[playerid][pKuule10],PlayerInfo[playerid][pKuule11],PlayerInfo[playerid][pKuule12], pname);

mysql_query(query);
Reply
#5

Look at my first post -
Thats the part, when im disconnect-
pawn Код:
[19:19:45] >> mysql_query( Connection handle: 1 )
[19:19:45] CMySQLHandler::Query(relvakuule1=2,relvakuule2=0,relvakuule3=299,relvakuule4=1150563017,relvakuule5=-995793747,relvakuule6=1096051053,relvakuule7=1337,relvakuule8=5,relvakuule9=4,relvakuule10=0,relvakuule11=0,relvakuule12=0 WHERE user='') - An error has occured. (Error ID: 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 'relvakuule1=2,relvakuule2=0,relvakuule3=299,relvakuule4=1150563017,relvakuule5=-' at line 1)
Reply
#6

Before formated first two texts and the result was same.
Reply
#7

Try the code posted to my previous post.
Reply
#8

That time it tried to save all, thats good, but something went wrong.


I looked debug, and checked the error. ",relvakuule0=". Then i checked the code, but all seemed fine.
pawn Код:
[22:26:09] CMySQLHandler::Query(UPDATE playerdata SET score=2,money=0,skin=299,posx=1815.781127,posy=-1707.984130,posz=13.546875,adminlvl=1337,auaste=5,grupeering=4,virtworld=0,interior=0,firmavхti=0,majavхti=0,ajail=0,ajailtime=0,rahapangas=0,atmkey=6969,minutid=33,mysqlid=6,mangutunnid=2, banned=0,hoiatusi=0,kiitusi=0,relv0=0,relv1=0,relv2=0,relv3=0,relv4=0,relv5=0,relv6=38,relv7=0,relv8=0,relv9=0,relv10=0,relv11=0,relv12=0,relvakuule0=,relvakuule1=0,relvakuule2=0,relvakuule3=0,relvakuule4=0,relvakuule5=0,relvakuule6=0,relvakuule7=0,relvakuule8=0,relvakuule9=0,relvakuule10=0,relvakuule11=0,relvakuule12=82 WHERE user='') - An error has occured. (Error ID: 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 'relvakuule1=0,relvakuule2=0,relvakuule3=0,relvakuule4=0,relvakuule5=0,relvakuule' at line 1)
Reply
#9

relvakuule0=,relvakuule1=0

No value for relvakuule0.

pRelv2 was missing. Change to:
pawn Код:
format(query,sizeof(query),"UPDATE playerdata SET score=%d,money=%d,skin=%d,posx=%f,posy=%f,posz=%f,adminlvl=%d,auaste=%d,grupeering=%d,virtworld=%d,interior=%d,firmavхti=%d,majavхti=%d,ajail=%d,ajailtime=%d,rahapangas=%d,atmkey=%d,",score,money,skin,x,y,z,adminlvl,auaste,grupeering,virtw,inter,firv6ti,majav6ti,ajail,ajailtime,rahapangas,atmkey);
format(query,sizeof(query),"%sminutid=%d,mysqlid=%d,mangutunnid=%d, banned=%d,hoiatusi=%d,kiitusi=%d,relv0=%d,relv1=%d,relv2=%d,relv3=%d,relv4=%d,relv5=%d,relv6=%d,relv7=%d,relv8=%d,relv9=%d,relv10=%d,relv11=%d,relv12=%d,relvakuule0=%d,",query,minutid,mysqlid,mangutunnid,banned,hoiatusi,kiitusi,PlayerInfo[playerid][pRelv0],PlayerInfo[playerid][pRelv1],PlayerInfo[playerid][pRelv2]
    PlayerInfo[playerid][pRelv3],PlayerInfo[playerid][pRelv4],PlayerInfo[playerid][pRelv5],PlayerInfo[playerid][pRelv6],PlayerInfo[playerid][pRelv7],PlayerInfo[playerid][pRelv8],PlayerInfo[playerid][pRelv9],PlayerInfo[playerid][pRelv10],PlayerInfo[playerid][pRelv11],PlayerInfo[playerid][pRelv12],PlayerInfo[playerid][pKuule0]);
format(query,sizeof(query),"%srelvakuule1=%d,relvakuule2=%d,relvakuule3=%d,relvakuule4=%d,relvakuule5=%d,relvakuule6=%d,relvakuule7=%d,relvakuule8=%d,relvakuule9=%d,relvakuule10=%d,relvakuule11=%d,relvakuule12=%d WHERE user='%s'",query,PlayerInfo[playerid][pKuule1],PlayerInfo[playerid][pKuule2],PlayerInfo[playerid][pKuule3],PlayerInfo[playerid][pKuule4],
    PlayerInfo[playerid][pKuule5],PlayerInfo[playerid][pKuule6],PlayerInfo[playerid][pKuule7],PlayerInfo[playerid][pKuule8],PlayerInfo[playerid][pKuule10],PlayerInfo[playerid][pKuule11],PlayerInfo[playerid][pKuule12], pname);

mysql_query(query);
Reply
#10

All fixed, except this. I looped code many times, to find mistakes, what i have made before, but all seemed correct.

pawn Код:
WHERE user=' '
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)