Input line too long - MySQL UPDATE
#1

I have error : input line too long (after substitutions). I don't know how to shorten my code.


Код HTML:
forward SaveCar(uid);
public Save(uid)
{
    new query[1024];
	format(query, sizeof(query), "UPDATE `rp_cars` SET `akt` = '%d',`mod`='%d',`px`='%f',`py`='%f',`pz`='%f',`k1`='%d',`k2`='%d',`hp`='%f',`u`='%d',`u2`='%d',`u3`='%d',`prze`='%f',`cena`='%d',`p`='%d',`pmax`='%d',`ptyp`='%d',`reja`='%s',`ownerid`='%d',`alarm`='%d',`lock`='%d',`owner`='%d',`ownerid`='%d',`t`='%d',`t2`='%s',`t3`='%d',`t4`='%d',`t5`='%d',`t6`='%d',`t7`='%d',`t8`='%d',`t9`='%d',`t10`='%d',`t11`='%d',`t12`='%d',`t13`='%d',`t14`='%d',`pj`='%d',`int`='%d',`vw`='%d',`audio`='%d',`link`='%s',`zarej`='%d',`kogut`='%d',`blok`='%d',`bpowod`='%s' WHERE `uid`='%d'",
	SamochodInfo[uid][sAktywny],
	SamochodInfo[uid][sModel],
	SamochodInfo[uid][sSpawnX],
	SamochodInfo[uid][sSpawnY],
	SamochodInfo[uid][sSpawnZ],
	SamochodInfo[uid][sK1],
	SamochodInfo[uid][sK2],
	SamochodInfo[uid][sHP],
	SamochodInfo[uid][sUszkodzenia],
	SamochodInfo[uid][sUszkodzenia2],
	SamochodInfo[uid][sUszkodzenia3],
	SamochodInfo[uid][sPrzebieg],
	SamochodInfo[uid][sCena],
	SamochodInfo[uid][sPaliwo],
	SamochodInfo[uid][sPaliwoMax],
	SamochodInfo[uid][sPaliwoTyp],
	SamochodInfo[uid][sRejestracja],
	SamochodInfo[uid][sAlarm],
	SamochodInfo[uid][sZamkniety],
	SamochodInfo[uid][sOwner],
	SamochodInfo[uid][sOwnerID],
	SamochodInfo[uid][sTune],
	SamochodInfo[uid][sTune2],
	SamochodInfo[uid][sTune3],
	SamochodInfo[uid][sTune4],
	SamochodInfo[uid][sTune5],
	SamochodInfo[uid][sTune6],
	SamochodInfo[uid][sTune7],
	SamochodInfo[uid][sTune8],
	SamochodInfo[uid][sTune9],
	SamochodInfo[uid][sTune10],
	SamochodInfo[uid][sTune11],
	SamochodInfo[uid][sTune12],
	SamochodInfo[uid][sTune13],
	SamochodInfo[uid][sTune14],
	SamochodInfo[uid][sPJ],
	SamochodInfo[uid][sInt],
	SamochodInfo[uid][sVir],
	SamochodInfo[uid][sAudio],
	SamochodInfo[uid][sAudioLink],
	SamochodInfo[uid][sZarejestrowany],
	SamochodInfo[uid][sKogut],
	SamochodInfo[uid][sBlokada],
	SamochodInfo[uid][sBlokadaPowod],
	uid);
	qr++; mysql_query(query);
	mysql_free_result();
	return 1;
}
Reply
#2

To fix that you'd have to format two query strings(instead of just one).

Then you'd query the (query) as you've formatted two of them.

If you're stuck I can do it for you..
Reply
#3

Quote:
Originally Posted by Peach
Посмотреть сообщение
If you're stuck I can do it for you..
Can u do it for me? It's my first time with mysql ;p.
Reply
#4

pawn Код:
new
    iQuery[256]
;
strcat(iQuery, "some string");
strcat(iQuery, "some string 2");
Now you can use query or w/e you doing.
Reply
#5

Quote:
Originally Posted by Mr_DjolE
Посмотреть сообщение
pawn Код:
new
    iQuery[256]
;
strcat(iQuery, "some string");
strcat(iQuery, "some string 2");
Now you can use query or w/e you doing.
This.

But you should use a string of size over 512, because it won't update with lower size.
Reply
#6

Quote:
Originally Posted by Dwane
Посмотреть сообщение
This.

But you should use a string of size over 512, because it won't update with lower size.
Yeah, I've just placed a random size.
Reply
#7

Is it good now?
Код HTML:
new query[512];
strcat(query, "UPDATE `rp_cars` SET `akt` = '%d',`mod`='%d',`px`='%f',`py`='%f',`pz`='%f',`k1`='%d',`k2`='%d',`hp`='%f',`u`='%d',`u2`='%d',`u3`='%d',`prze`='%f',`cena`='%d',`p`='%d',`pmax`='%d',`ptyp`='%d',`reja`='%s',`ownerid`='%d',`alarm`='%d'");
strcat(query, "`lock`='%d',`owner`='%d',`ownerid`='%d',`t`='%d',`t2`='%s',`t3`='%d',`t4`='%d',`t5`='%d',`t6`='%d',`t7`='%d',`t8`='%d',`t9`='%d',`t10`='%d',`t11`='%d',`t12`='%d',`t13`='%d',`t14`='%d',`pj`='%d',`int`='%d',`vw`='%d',`audio`='%d',`link`='%s',`zarej`='%d',`kogut`='%d',`blok`='%d',`bpowod`='%s' WHERE `uid`='%d'",
	SamochodInfo[uid][sAktywny],
	SamochodInfo[uid][sModel],
	SamochodInfo[uid][sSpawnX],
	SamochodInfo[uid][sSpawnY],
	SamochodInfo[uid][sSpawnZ],
	SamochodInfo[uid][sK1],
	SamochodInfo[uid][sK2],
	SamochodInfo[uid][sHP],
	SamochodInfo[uid][sUszkodzenia],
	SamochodInfo[uid][sUszkodzenia2],
	SamochodInfo[uid][sUszkodzenia3],
	SamochodInfo[uid][sPrzebieg],
	SamochodInfo[uid][sCena],
	SamochodInfo[uid][sPaliwo],
	SamochodInfo[uid][sPaliwoMax],
	SamochodInfo[uid][sPaliwoTyp],
	SamochodInfo[uid][sRejestracja],
	SamochodInfo[uid][sAlarm],
	SamochodInfo[uid][sZamkniety],
	SamochodInfo[uid][sOwner],
	SamochodInfo[uid][sOwnerID],
	SamochodInfo[uid][sTune],
	SamochodInfo[uid][sTune2],
	SamochodInfo[uid][sTune3],
	SamochodInfo[uid][sTune4],
	SamochodInfo[uid][sTune5],
	SamochodInfo[uid][sTune6],
	SamochodInfo[uid][sTune7],
	SamochodInfo[uid][sTune8],
	SamochodInfo[uid][sTune9],
	SamochodInfo[uid][sTune10],
	SamochodInfo[uid][sTune11],
	SamochodInfo[uid][sTune12],
	SamochodInfo[uid][sTune13],
	SamochodInfo[uid][sTune14],
	SamochodInfo[uid][sPJ],
	SamochodInfo[uid][sInt],
	SamochodInfo[uid][sVir],
	SamochodInfo[uid][sAudio],
	SamochodInfo[uid][sAudioLink],
	SamochodInfo[uid][sZarejestrowany],
	SamochodInfo[uid][sKogut],
	SamochodInfo[uid][sBlokada],
	SamochodInfo[uid][sBlokadaPowod],
	uid);
	qr++; mysql_query(query);
	mysql_free_result();
Reply
#8

No, because it won't format the message like that.
pawn Код:
new
    query[ 512 ],
    query2[ 256 ] // Optional
;
format( query2, sizeof( query2 ), "text here with formats...", variable1, variable2.. );
strcat( query, query2 );
format( query2, sizeof( query2 ), "text2 here with formats...", variable3, variable4.. );
strcat( query, query2 );
Reply
#9

Can u make example with my variables?
Reply
#10

You don't need two strings nor strcat.
pawn Код:
forward SaveCar(uid);
public SaveCar(uid)
{
    new query[700];
    format(query, sizeof(query), "UPDATE `rp_cars` SET `akt` = '%d',`mod`='%d',`px`='%f',`py`='%f',`pz`='%f',`k1`='%d',`k2`='%d',`hp`='%f',`u`='%d',`u2`='%d',`u3`='%d',`prze`='%f',`cena`='%d',`p`='%d',`pmax`='%d',`ptyp`='%d',`reja`='%s',`ownerid`='%d',`alarm`='%d',`lock`='%d',`owner`='%d',`ownerid`='%d'",
    SamochodInfo[uid][sAktywny],
    SamochodInfo[uid][sModel],
    SamochodInfo[uid][sSpawnX],
    SamochodInfo[uid][sSpawnY],
    SamochodInfo[uid][sSpawnZ],
    SamochodInfo[uid][sK1],
    SamochodInfo[uid][sK2],
    SamochodInfo[uid][sHP],
    SamochodInfo[uid][sUszkodzenia],
    SamochodInfo[uid][sUszkodzenia2],
    SamochodInfo[uid][sUszkodzenia3],
    SamochodInfo[uid][sPrzebieg],
    SamochodInfo[uid][sCena],
    SamochodInfo[uid][sPaliwo],
    SamochodInfo[uid][sPaliwoMax],
    SamochodInfo[uid][sPaliwoTyp],
    SamochodInfo[uid][sRejestracja],
    SamochodInfo[uid][sAlarm],
    SamochodInfo[uid][sZamkniety],
    SamochodInfo[uid][sOwner],
    SamochodInfo[uid][sOwnerID]);

    format(query, sizeof query, "%s,`t`='%d',`t2`='%s',`t3`='%d',`t4`='%d',`t5`='%d',`t6`='%d',`t7`='%d',`t8`='%d',`t9`='%d',`t10`='%d',`t11`='%d',`t12`='%d',`t13`='%d',`t14`='%d',`pj`='%d',`int`='%d',`vw`='%d',`audio`='%d',`link`='%s',`zarej`='%d',`kogut`='%d',`blok`='%d',`bpowod`='%s' WHERE `uid`='%d'",
    query,
    SamochodInfo[uid][sTune],
    SamochodInfo[uid][sTune2],
    SamochodInfo[uid][sTune3],
    SamochodInfo[uid][sTune4],
    SamochodInfo[uid][sTune5],
    SamochodInfo[uid][sTune6],
    SamochodInfo[uid][sTune7],
    SamochodInfo[uid][sTune8],
    SamochodInfo[uid][sTune9],
    SamochodInfo[uid][sTune10],
    SamochodInfo[uid][sTune11],
    SamochodInfo[uid][sTune12],
    SamochodInfo[uid][sTune13],
    SamochodInfo[uid][sTune14],
    SamochodInfo[uid][sPJ],
    SamochodInfo[uid][sInt],
    SamochodInfo[uid][sVir],
    SamochodInfo[uid][sAudio],
    SamochodInfo[uid][sAudioLink],
    SamochodInfo[uid][sZarejestrowany],
    SamochodInfo[uid][sKogut],
    SamochodInfo[uid][sBlokada],
    SamochodInfo[uid][sBlokadaPowod],
    uid);

    qr++; mysql_query(query);
    mysql_free_result();
    return 1;
}
not tested
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)