Bonjour à tous,

Je travaille sur un site en PHP, couplé à une base de données Postgresql. Je n'en suis qu'aux phases de tests et tout se passe bien, mais je m'interroge sur ce que j'ai fait, pour savoir si ma façon de faire est la bonne ou non.

Je m'explique : mon but est que l'utilisateur voit les modifications qu'on a pu apporté au site entre deux clicks. Par exemple, un utilisateur qui a enregistré un nouveau message entre temps.

Du coup, sur la page concernée, je vérifie si la donnée a changé dans la base, pour afficher la nouvelle valeur au besoin.

Je fais comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
$dbconn = pg_connect("host=".host . ' ' ."dbname=".dbname . ' ' ."user=".user . ' ' ."password=".password )
    or die('Connexion impossible : ' . pg_last_error());
 
	$query = 'SELECT messages FROM users WHERE id= \''.$id_users.'\'';
$result = pg_query($query) or die('Échec de la requête : ' . pg_last_error());
 
... // traitement des données
 
pg_free_result($result);
pg_close($dbconn);
J'ouvre du coup une connexion à chaque fois, pour la fermer à la fin. Est-ce la bonne manière de fonctionner ? Au départ, je pensais ouvrir une connexion lors du login de l'utilisateur, et la fermer lors de sa déconnexion. Mais si la personne oublie de se déconnecter, la connexion à la base va rester trop longtemps ouverte, non ?