[PHP] Serializer un objet JSON dans PostGres sur INSERT puis deserialiser sur SELECT

php_1_

Intro

Revient constamment ;
On stocke carrément des objets ou même des arrays JSON dans des BDD relationelles ! A la punk ! HI HI

Le web service :

function GetFiltres(){
		$filtres = new Filtres();
		$data = json_decode(file_get_contents("php://input"));
		echo(json_encode($filtres->GetFiltres($data)));
}

Le back end :

public function SetFiltres($data){
		// ON serialize l'objet JSON pour le mettre en BDD
		$filtres =  serialize($data->filtres);
		$sql = "INSERT INTO  " . self::TABLE . " VALUES (DEFAULT,".$data->id_l_utilisateurs.",'".$filtres."','test')";

		$req = $this->bdd->prepare($sql);
        $req->execute();
		$req->closeCursor();

		return  ;

	}

	public function GetFiltres($data){

		$sql = "SELECT * FROM " . self::TABLE . " WHERE id_l_utilisateurs = ".$data->id_l_utilisateurs;

		$req = $this->bdd->prepare($sql);
		$req->execute();

		$result = $req->FetchAll(PDO::FETCH_ASSOC);
		$req->closeCursor();

		/* On deserialize les objets json Filtres */
		foreach ($result as $key => $value){
				$result[$key]['filtres'] = unserialize($result[$key]['filtres']);
		}
		return $result;

	}

 

php_1_
Publicités