в моей ячейке mysql это сохраняется с помощью функции сериализации
a:1:{i:0;s:275:"a:4:{s:8:"khghg_id";s:10:"foo1187";s:3:"uri";s:21:"foo/vtory/1187";s:4:"name";s:5:"nmart";s:5:"tuhlmb";a:3:{i:0;s:40:"knuujhs/201205/13_03_pceb9.jpg";i:1;s:40:"knuujhs/201205/13_03_0wlih.jpg";i:2;s:40:"knuujhs/201205/13_03_tq5wf.jpg";}}";}
я пытаюсь сделать unserialize
я использую этот код
$cell =$row9['attachment']; $list = unserialize($cell); $info = unserialize($list[0]); var_dump($info);
когда я пытаюсь с этим, я получаю ошибку bool (false), поэтому я попытался с parse_str с parse_str i не получил никакой ошибки
parse_str($cell,$list );
но я не получаю вывод в моей базе данных. Я храню вывод в базе данных, и я отправляю запрос в базу данных. Все становится хранимым, кроме этих неэтериализованных значений. Здесь вы можете заметить, что есть
khghg_id, который является foo1187 uri, который является именем foo / vtory / 1187, которое является nmart
Я хочу сохранить эти данные в моей базе данных, поэтому я использую
'.$info['khghg_id'].' for sending the data to mysql but mysql stores everything other than all unsterilized values
Вы извлекаете сериализованный текст из базы данных.
Вы несериализуете его. Измените его, а затем, когда вы сохраните его обратно в базу данных, вам нужно его сериализовать
//retrieve serialized data from database $arr = unserialize($row['properties']); //get the desired value $khghg_id = $arr['khghg_id']; //now insert $khghg_id in database
Из кода, который вы указали выше .. Я вижу, что вы несериализуете 2 раза .. вам действительно не нужно это делать
$cell =$row9['attachment']; $list = unserialize($cell); $info = $list[0]; //this line should make the difference var_dump($info);