для хранения данных сериализованного массива в MySQL, а также для извлечения и сохранения их в той же таблице, вот как вы должны это сделать.
Извлечение сериализованных данных из таблицы, десериализация их и сохранение данных массива внутри переменной. внести изменения в данные массива, используя переменную, в которой мы сохранили данные.
Мы снова сериализуем переменную с измененным массивом и обновляем поле таблицы mysql новыми сериализованными данными.
Например:
$data = array(
"uid" => "some value",
"pid" => "some value"
);
$store_in_database = serialize($data);
/* ...do the mysql insert query to store the new data in the field (serializedfield)... */
Теперь нужно обновить данные сериализации, хранящиеся в поле таблицы базы данных.
/ * ... извлекать строку таблицы или записи любым удобным для вас способом (одна запись или несколько) * /
foreach($db_result as $db_row){
$temp_array = $db_row['serializedfield'];
$temp_array['uid'] = "a new value";
$temp_array['pid'] = "another new value";
/* ... i wanted to add another array value */
$temp_array['akey'] = "some value";
$store_database = serialize($temp_array);
/* ... do the mysql update query to replace this new data with the old one. */
unset($temp_array);
}
Вышесказанное просто для того, чтобы дать вам идею. Я надеюсь, вы поняли, как это должно быть сделано здесь.