PHP Salvare un array in Mysql

php array

Molto spesso capita nello sviluppo in PHP di dover salvare gli Array all’interno di Mysql  per poterli poi recuperare di nuovo alla successiva conessione al database. Il procedimento è semplice, ma prima bisogna trasformare l’array in stringa, e per fa questo usiamo la funzione serialize.

Consideriamo come esempio un array associativo composto dalle informazioni di una certa data, passando l’array alla funzione serialize abbiamo un risultato stringa del tipo:

a:4:{s:4:"Anno";s:4:"1980";s:4:"Mese";s:8:"Febbraio";s:6:"Giorno";s:2:"22";s:3:"Ora";s:2:"13";}




Quindi il procedimento di salvataggio all’interno del database sarà in seguente:

<?php
//connessione a mysql
$link=mysqli_connect("localhost","root","password","my_database");
//l'array da salvare
$arr_val=array("Anno"=>"1980","Mese"=>"Febbraio","Giorno"=>"22","Ora"=>"13");
$serialize = serialize($arr_val);

//e quindi la query di storage
mysqli_query($link,"INSERT into table_name (campo) VALUES ('$serialize')");
?>

Successivamente abbiamo la necessità di recuperare questi valori dal database e da stringa
li trasformiamo di nuovo in array facendo uso questa volta della funzione unserialize. Il codice sarà il seguente:

 

<?php

//connessione a mysql
$link=mysqli_connect("localhost","root","password","my_database");
//recupero le informazioni salvate
$query = mysqli_query($link,"SELECT campo FROM table_name");

while($result=mysqli_fetch_array($query))
{
$array= unserialize($result['campo']);
}

?>

Lascia un commento