Cómo anexar una cadena serializada que ya existe en la base de datos

Acabo de comenzar a aprender sobre serialización y tengo una pregunta que parece que no puedo encontrar una explicación simple.

Digamos que tenía una tabla llamada semana y dentro de la semana tenía 3 columnas con la tercera columna que contenía un montón de identificaciones de comidas serializadas, así almacenadas en mi base de datos:

INSERT INTO `week` (`week_id`, `meal_code`, `meal_id`) VALUES (1, 'week12016', 'a:6:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;}'); 

Pero luego quiero agregar otro meal_id a la cadena existente pero no actualizar ninguna otra columna para que se lea

 (1, 'week12016','a:7:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;}') 

He intentado en un archivo php para almacenar lo siguiente

 $food=array("7"); $sfood=serialize($food); 

Luego, intenta agregar el 7 a los meal_ids existentes en la tabla de la semana

 mysqli_query($conn,"UPDATE week SET meal_id ('$sfood')"); //if entry into the database is successful, confirm with a alert popup and refresh the home page if(mysqli_affected_rows($conn) > 0){ //header("location: admin.php"); header("refresh:0; url=admin.php"); echo "alert('Upload Successful!')"; exit; 

Pero cuando reviso mi base de datos, nada ha cambiado.

¿Qué estoy haciendo mal? ¿Es posible hacer lo que estoy tratando de lograr?

Tienes que leer la columna de tu fila de la tabla. Deserializarlo en una variable de PHP y luego agregarle una nueva ocurrencia.

A continuación, serialice la nueva matriz y guárdela de nuevo en su base de datos

 // SELECT from table $s = 'a:7:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;}'; $d = unserialize($s); print_r($d); $d[] = 99; print_r($d); $s2 = serialize($d); echo $s2; // UPDATE table row 

RESULTADOS

 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 ) Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 99 ) a:8:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;i:7;i:99;} 

No se recomienda almacenar datos como este, ya que hace que estos datos sean imposibles de procesar mediante consultas