Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проблемы с update


Автор: alfa_center 18.7.2005, 11:06
Столкнулся с такой проблемой:
Использую Oracle 10 ,PHP -4.3.1
При обновлении таблицы в базу перед " и \ записываются лишние символы \
пример
$text='\Исходная " запись"';
$c=подключение к базе
$q="update TABLE set FID='$text' where условие";
$zap_p=ociparse($c,$q);
ociexecute($zap_p);
В результате записи в базе оказывается:
\\Исходная \" запись\"
$text-приходит из формы <textarea name=text>\Исходная " запись"</textarea>

Автор: Bikutoru 18.7.2005, 11:51
А в чем проблема-то? \ перед " и \ это экранирование символов перед выполнением запроса, если этого не сделать, то при вводе этих символов в форму в лучшем случае произойдет ошибка синтаксиса, в хучшем SQL-инъекция.
Пользуйся после выборки из базы функцией stripslashes и эти символы будут удалены
http://www.php.net/manual/en/function.stripslashes.php

Автор: alfa_center 18.7.2005, 12:43
Вот я попал.Я весь краснею от стыда.
Спасибо за подсказку Bikutoru . smile

Автор: Bikutoru 18.7.2005, 12:49
Да не за что. "Заходите еще" smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)