Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   Запарки magic_quotes, serialize и помещение в mysql (http://www.flasher.ru/forum/showthread.php?t=54887)

Rave 18.02.2004 19:17

Запарки 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', \\\ и.т.п.

juggy 18.02.2004 19:44

1. this
2. Какая ошибка

Rave 18.02.2004 22:19

Смотри: в переменные $name и $msg из-за ' и \ добавляются слеши. после serialize значение ключа массива включают в себя доп. слеши, которые при вставке в БД удаляются, после чего массив уже нельзя unserialize, либо в БД ошибка... из за слешей этих.


Часовой пояс GMT +4, время: 01:41.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.