Проблема с mysql - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Проблема с mysql (
/showthread.php?tid=346369)
Проблема с mysql -
Hawkins - 28.05.2012
PHP код:
stock OnPlayerUpdateEx1(playerid)
{
if(GetPVarInt(playerid, "IsAuthed") > 0)
{
new query[1500], str[100];
strcat(query, "UPDATE players SET ");
format(str, sizeof(str), "`Cars`=%d,`Posc_x`=%f,`Posc_y`='%f',`Posc_z`='%f',`Posc_a`='%f',`Color1`='%d',`Color2`='%d' WHERE name = '%s'", PlayerInfo[playerid][pCar], PlayerInfo[playerid][Posc_x], PlayerInfo[playerid][Posc_y], PlayerInfo[playerid][Posc_z], PlayerInfo[playerid][Posc_a], PlayerInfo[playerid][pColor1], PlayerInfo[playerid][pColor2], getpl(playerid)); strcat(query, str);
if(!mysql_query(query)) mysql_debug(1), mysql_query(query), mysql_debug(0);
}
}
При дисконнекте значения в таблице не обновляются. В чем проблема?
Re: Проблема с mysql -
eakwarp - 28.05.2012
Зачем так извращаться с запросом? Одним форматом религия обойтись не позволяла?
Почему такой разношерстный запрос?
Тут так `Posc_x`=
%f
а тут так `Posc_z`=
'%f'
Что пишет дебаг, раз уж так извратились с ним.
?
Re: Проблема с mysql -
eakwarp - 28.05.2012
И кроме:
new query[1500], str[100];
Первый массив слишком большой, второй слишком маленький.
Даже запрос без данных в формате занимает 110 символов, с данными все 200. Что вам мешало ограничится одним массивом на 255 символов и одним форматом - ума не приложу.
Re: Проблема с mysql -
Hawkins - 28.05.2012
Quote:
[14:24:40] CMySQLHandler::Query(UPDATE players SET `Cars`=422,`Posc_x`=0.000000,`Posc_y`='0.000000',` Posc_z`='0.000000',`Posc_a`='0.000000',`Color1`=') - 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 ''' at line 1)
|
Вот что пишет
Re: Проблема с mysql -
Stepashka - 28.05.2012
И ещё кое что:
pawn Код:
if(!mysql_query(query)) mysql_debug(1), mysql_query(query), mysql_debug(0);
Не пишите вы так, это не правильно!
Re: Проблема с mysql -
Stepashka - 28.05.2012
Проблема с длиной строк, запрос отрезается на середине.
Re: Проблема с mysql -
Hawkins - 28.05.2012
Увеличил str побольше. Теперь всё норм. Спасибо за ответ