![]() |
Запарки magic_quotes, serialize и помещение в mysql
Все эти 3 фактора не дают мне решить задачу. Что нужно?
Сохранить данные из формы, добавив их в двумерный массив уже существующих комментариев, допустим. То есть. $array['name']=$_POST['name']; $array['msg']=$_POST['msg']; $mainarray[]=$array; $str=serialize($mainarray); затем помещаю инфу через функцию класса. function update($fields, $values, $expr='1=1'){ $i=0;foreach($fields as $field){$query[]=$field."='".$this->addslashes($values[$i])."'";$i++;} $Qstr=implode(', ', $query); //Query mysql_query("update ".$this->tablename." set $Qstr where $expr"); } Так вот как это все реализовать чтобы mysql ошибки не было, массив не запарывался при последующем unserialize? проблемы начинаются при вооде в форму слов типа \'test'\ , 'test', \\\ и.т.п. |
1. this
2. Какая ошибка |
Смотри: в переменные $name и $msg из-за ' и \ добавляются слеши. после serialize значение ключа массива включают в себя доп. слеши, которые при вставке в БД удаляются, после чего массив уже нельзя unserialize, либо в БД ошибка... из за слешей этих.
|
| Часовой пояс GMT +4, время: 01:41. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.