UPDATE table SET spessore='$spessore' проблема. Не поможете исправить?

12
[umka]
На сайте с 25.05.2008
Offline
456
#11
postavkin:
почему то всё равно из 8\9 получается 89

Скорее всего где-то выше в коде есть stripslashes()

Лог в помощь!
Mad_Man
На сайте с 10.11.2008
Offline
162
#12
umka:
Интересно посмотреть, как в той же транскрипции будет выглядеть запрос типа

INSERT INTO pf_cache SELECT e.id eid, DATE_FORMAT(e.date,'%d.%m.%Y'), DATE_FORMAT(e.date_time,'%d.%m %H:%i'), e.name, e.descr_short, e.img, e.descr, e.guests, IF(eg.person_user_id,1,0), COUNT(pf.user_id), p.name, p.rating, p.address, p.types, co.en, IF(co.ru!='', co.ru, co.en), ci.en, IF(ci.ru!='', ci.ru, ci.en), IF(u.url!='',u.url,u.id) FROM `events` e LEFT JOIN events_guests eg ON (eg.event_id=e.id AND eg.person_user_id=123), places p, events_guests eg2, people_friends pf, countries co, cities ci, users u WHERE e.date_time>NOW() AND eg2.event_id = e.id AND pf.friend_user_id = eg2.person_user_id AND p.user_id=e.place_user_id AND p.city_id=777 AND ci.id=777 AND co.id=7 AND p.country_id=7 AND co.id=7 AND ci.id=p.city_id AND co.id=p.country_id AND ci.id=p.city_id AND u.id=p.user_id AND u.status=1 GROUP BY e.id ORDER BY e.date_time


$database = new database();
$database->query("INSERT INTO pf_cache SELECT e.id eid, DATE_FORMAT(e.date,'%d.%m.%Y'), DATE_FORMAT(e.date_time,'%d.%m %H:%i'), e.name, e.descr_short, e.img, e.descr, e.guests, IF(eg.person_user_id,1,0), COUNT(pf.user_id), p.name, p.rating, p.address, p.types, co.en, IF(co.ru!='', co.ru, co.en), ci.en, IF(ci.ru!='', ci.ru, ci.en), IF(u.url!='',u.url,u.id) FROM `events` e LEFT JOIN events_guests eg ON (eg.event_id=e.id AND eg.person_user_id=123), places p, events_guests eg2, people_friends pf, countries co, cities ci, users u WHERE e.date_time>NOW() AND eg2.event_id = e.id AND pf.friend_user_id = eg2.person_user_id AND p.user_id=e.place_user_id AND p.city_id=777 AND ci.id=777 AND co.id=7 AND p.country_id=7 AND co.id=7 AND ci.id=p.city_id AND co.id=p.country_id AND ci.id=p.city_id AND u.id=p.user_id AND u.status=1 GROUP BY e.id ORDER BY e.date_time");

Не вижу совершенно никаких проблем. Особенно, если уделить те же пару минут немногочисленным сорцам и увидеть, что все *query() шаблонизаторы просто собирают SQL, который в итоге так или иначе всё равно окажется у database().

P
На сайте с 06.01.2009
Offline
601
#13
'[umka:
;13003844']Скорее всего где-то выше в коде есть stripslashes()

Нет нету. Кода вообще количество минимальное.

Достаем из table1 и вставляем в table2.

Mad_Man
На сайте с 10.11.2008
Offline
162
#14
postavkin:
почему то всё равно из 8\9 получается 89

Потому что mysqli_real_escape_string() принимает два параметра, первый из которых - соединение с базой. И это помимо того, что вам подсунули mysqli_* в мешанину mysql_*. Вы бы знали это если бы умели читать и не копировали в код функции, действий которых вы не знаете. Повторюсь: почитайте матчасть об экранировании, либо воспользуйтесь кодом, предоставленным выше.

P
На сайте с 06.01.2009
Offline
601
#15
Mad_Man:
Потому что mysqli_real_escape_string() принимает два параметра, первый из которых - соединение с базой. И это помимо того, что вам подсунули mysqli_* в мешанину mysql_*. Вы бы знали это если бы умели читать и не копировали в код функции, действий которых вы не знаете. Повторюсь: почитайте матчасть об экранировании, либо воспользуйтесь кодом, предоставленным выше.

Вот это помогло

$spessore = str_replace('\\', '\\\\', $spessore); 
Mad_Man
На сайте с 10.11.2008
Offline
162
#16
postavkin:
Вот это помогло
$spessore = str_replace('\\', '\\\\', $spessore); 

Вы безнадёжны.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий