La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Comment gérez-vous vos connections SQL
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Comment gérez-vous vos connections SQL  (Lu 1055 fois)
Comment gérez-vous vos connections SQL
« sur: le 05-06-2006 a 23:12:24 »
real34
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 61



Quand faut y aller, faut y aller !

Voir le Profil    E-Mail
Répondre avec citation

Bonjour,

Me revoilà avec quelques questions concernant l'ouverture/fermeture de la connection à la base de données.

J'aurais voulu savoir comment vous procédez ...
De mon côté, j'ai une fonction connect_bd() qui me retourne un lien vers la connection à la bd. A chaque fois que je veux faire une requête, je fais :
Code:
$lien_bd = connect_bd();
/* Requetes ...*/
mysql_close($lien_bd);


Le problème vient avec l'imbrication de connections ... Je m'explique : si dans ma requête je fais appel à une autre fonction afin d'obtenir une valeur, et que ma fonction est codée en autonome pour aller chercher une valeur dans la base de données (donc avec sa propre connection à la bd et son propre mysql_close), je perds ma connection dans mon script principal !

Pourtant, il me semblait que mysql_close($lien_bdd); ne ferme que le lien qui est passé ... Il se pourrait alors que le lien vers la bdd qui est dans ma fonction soit le même que celui de ma page principale vu que j'utilise la même fonction pour initialiser ma connection ...

Bref, je ne vois pas trop comment gérer tout ça sans que cela s'entrecoupe ! Je ne sais pas si tout est clair, mais j'ai énormément besoin de vos conseils !!

Merci d'avance ...

Rapporter au modérateur  

A vot' service !
Ma présentation ici
Etudiant à votre disposition pour tous projets web
(contact par MP on en discutera)

Re:Comment gérez-vous vos connections SQL
« Répondre #1 sur: le 06-06-2006 a 08:26:36 »
TonTon FluBB
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 143





Voir le Profil    WWW
Répondre avec citation

Moi j'ai une page qui s'occupe de la connexion à la base de données. Quand j'ai besoin d'une connexion, j'appel cette page avec require().

Puis je fais toutes mes requêtes, et quand j'ai finit, je ferme la connexion.

Rapporter au modérateur  

TonTon FluBB, Webmestre et bassiste
Re:Comment gérez-vous vos connections SQL
« Répondre #2 sur: le 06-06-2006 a 11:23:28 »
vertigo_76
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 125



Arf J'ai un problème...

Voir le Profil    WWW
Répondre avec citation

Salut

En général je me fais une librairie de function qui sont récurentes sur toutes mais pages dont la gestion de connexion aux bases de données.

Et je l'appelle systématiquement dans mes pages

Vertigo

Rapporter au modérateur  
Re:Comment gérez-vous vos connections SQL
« Répondre #3 sur: le 06-06-2006 a 19:22:29 »
real34
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 61



Quand faut y aller, faut y aller !

Voir le Profil    E-Mail
Répondre avec citation

Donc en fait, si j'ai bien compris, de votre côté, vous ouvrez une connection en début de page et la refermez à la fin ??

Je faisais ça mais un jour je me suis demandé si c'était bien propre au sens où la page peut rediriger vers une autre page au cours de sa lecture ... (genre if($toto) header(location:...);)

Dans ces cas là, que devient la connection ouverte en début de page Elle se fermera toute seule ?

Rapporter au modérateur  

A vot' service !
Ma présentation ici
Etudiant à votre disposition pour tous projets web
(contact par MP on en discutera)
Re:Comment gérez-vous vos connections SQL
« Répondre #4 sur: le 06-06-2006 a 19:31:55 »
vertigo_76
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 125



Arf J'ai un problème...

Voir le Profil    WWW
Répondre avec citation

Sauf erreur de ma part le header n'interrompt pas le script mais envoie des en-tete http au navigateur qui les interpretes.

Donc a mon avis le script va jusqu'a le fin et ferme la connection.

sur ce point il faudrait quand meme faire un teste du style définir une variable, faire une connexion mysql envoyer le header et inclure la variable dans une table puis fermer.

si la variable se retrouve sur la table c'est que je me suis pas trompé.(mais ce n'est que théorique)

Rapporter au modérateur  
Re:Comment gérez-vous vos connections SQL
« Répondre #5 sur: le 06-06-2006 a 19:44:27 »
TonTon FluBB
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 143





Voir le Profil    WWW
Répondre avec citation

Au pire rien ne t'empêche de fermer ta connexion avant la redirection 

Rapporter au modérateur  

TonTon FluBB, Webmestre et bassiste
Re:Comment gérez-vous vos connections SQL
« Répondre #6 sur: le 10-06-2006 a 19:23:24 »
pagepremiere
Membre récent
*

Hors-Ligne

Messages: 5



Je suis un lama!

Voir le Profil    WWW
Répondre avec citation

ou tu peux verifier ta connection avant d'en re-ouvrir une autre par le lien retour lors de la connection et si jamais il y a deja une connection d'ouverte tu fais un test et ne ferme pas avant d'avoir completement fini.

$DejaConnect = 0;

$C = connection();

bla bla bla

//--- besoin d'une connection donc verif
if(!$C) {connection(); $DejaConnect = 1;}

bla bla bla

//--- Ferme la connection si plus besoin

if(!$DejaConnect) Deconnection();

bla bla bla

//--- Fin
Deconnection();


Ca peut etre aussi une solution si tu fais pas mal d'include dans tous les sens.

Rapporter au modérateur  
Re:Comment gérez-vous vos connections SQL
« Répondre #7 sur: le 11-06-2006 a 13:48:38 »
erwinol
Iznogoud Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1845



Que la FARCE soit avec toi

Voir le Profil    WWW
Répondre avec citation

Le problème à mon avis est que tu écrases ta variable de connexion avec la nouvelles car tu utilises le même nom.

Tu ne devrais normalement jamais avoir d'imbrication. Tes fonctions internes ne devraient jamais ouvrir elles-mêmes une connexion mais utiliser toujours une variable globale de connexion.

De cette manière, tu ouvres ta connexion. Tu fais toutes tes requêtes sur ta DB et ensuite tu fermes ... le tout avec une seule connexion.

Rapporter au modérateur  

MySeoBox soumet vos sites sur des milliers d'annuaire
Vous possédez un annuaire ? Gagnez de l'argent avec celui-ci grâce à l'affiliation MySeoBox !
Re:Comment gérez-vous vos connections SQL
« Répondre #8 sur: le 11-06-2006 a 13:50:00 »
erwinol
Iznogoud Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1845



Que la FARCE soit avec toi

Voir le Profil    WWW
Répondre avec citation

Citation de: real34 le le 06-06-2006 a 19:22:29
a page peut rediriger vers une autre page au cours de sa lecture ... (genre if($toto) header(location:...);)

Dans ces cas là, que devient la connection ouverte en début de page Elle se fermera toute seule ?

Oui elle se fermera toute seule. Il est toujours conseillé de fermer la connexion le plus tôt possible mais si tu ne fais pas appel à mysql_close, la connexion se fermera automatiquement en fin de script.

Rapporter au modérateur  

MySeoBox soumet vos sites sur des milliers d'annuaire
Vous possédez un annuaire ? Gagnez de l'argent avec celui-ci grâce à l'affiliation MySeoBox !
Re:Comment gérez-vous vos connections SQL
« Répondre #9 sur: le 11-06-2006 a 18:50:15 »
real34
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 61



Quand faut y aller, faut y aller !

Voir le Profil    E-Mail
Répondre avec citation

Okay !

Pour mes prochains projets, j'essaierai de mettre ça en place alors ! Merci beaucoup pour vos astuces et vos conseils

Rapporter au modérateur  

A vot' service !
Ma présentation ici
Etudiant à votre disposition pour tous projets web
(contact par MP on en discutera)
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg