IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

mysql_close dans chaque page ?


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 120
    Points : 54
    Points
    54
    Par défaut mysql_close dans chaque page ?
    Bonjour,

    la question est simple faut-il placer un mysql_close a la fin de chaque page ou l'on se connecte?

  2. #2
    Expert éminent
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Points : 6 812
    Points
    6 812
    Par défaut
    La réponse est simple : Oui car il faut toujours fermer une connexion ouverte

  3. #3
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Salut,

    Utilises un objet $db, qui te retourne un résultat en fonction d'une requête donnée; c'est lui qui ouvrira et fermera sa connection avant de te retourner le résultat, ainsi, tu n'auras jamais besoin de mettre implicitement un close dans chaque page, car il sera fait automatiquement.

    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 120
    Points : 54
    Points
    54
    Par défaut
    Moi ma méthode est toujours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $link = mysql_connect("localhost", "root", "");
    mysql_select_db("incidents") or die(mysql_error());
    $row_division = mysql_fetch_array($result_division_ticket, MYSQL_ASSOC)
    ...
    mysql_close($link);
    tu fais comment KilVaiDen ?

  5. #5
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Ce n'est pas systématique, celà dépend aussi de la structure de base.
    Tu peux créer par exemple une application comprenant des dizaines de pages avec des scripts différents et les faire intervenir dans une page unique (index, par exemple) en utilisant les pseudo-frames en php.
    Au final, tu n'as qu'un seul mysql_close(); dans ton fichier index.

  6. #6
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Salut,

    Je te propose ceci, en prenant un exemple : récupérer la liste des employés d'une société donnée.

    Pour cela, étant donné que c'est une information qui concerne "la société", l'entité "société", je créerais une classe société.

    Cette classe, aurait une méthode par type de traitement souhaité. Par exemple, ici, elle aurait une méthode "getListeEmployes()".

    Ce qui se matérialise comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $societe = new Societe();
    $listeEmployes = $societe->getListeEmployes($id_societe);
    La méthode listeEmployes, serait comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public function getListeEmployes($idsoc)
       {
           // Ici se connecter à la base, en utilisant un objet de type $db
           $db = new ConnectionDatabase();
           $db->connect();
     
           // Ici remplir $listeEmployes avec une boucle, ou autre, en appellant $db
     
           // Exemple :
           $requete = 'SELECT * FROM superTableEmployes WHERE idsoc=' . $idsoc;
           $result = $db->makeQuery($requete);
     
           // On ferme la connection
           // $db->closeConnection(); Optionnel, si l'objet $db gère ça dans son __destruct()
     
           return $listeEmployes;
       }
    L'objet $db, gère lui le link etc..

    A+

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Citation Envoyé par KiLVaiDeN
    ainsi, tu n'auras jamais besoin de mettre implicitement un close dans chaque page, car il sera fait automatiquement
    Salut

    C'est amusant.. Il me semble que tu voulais dire exactement l'inverse, non ? "Jamais besoin de mettre explicitement un close car il se fait automatiquement / implicitement"

  8. #8
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Citation Envoyé par Yogui
    Salut

    C'est amusant.. Il me semble que tu voulais dire exactement l'inverse, non ? "Jamais besoin de mettre explicitement un close car il se fait automatiquement / implicitement"
    Oops, oui, je voulais dire "explicitement"

    En gros, le close se ferait sans que tu aies besoin de l'écrire dans chaque page, via la destruction des objets !

    grr je n'aime pas faire ce genre d'erreur de langage...

    Tu que vives en barcelona, comprenderas que aveces tengo unos problemitas con mi frances, visto que hablo español y frances todo los dias

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Claro, a mi me pasa lo mismo...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer les frames pour qu'un menu ne soit pas codé dans chaque page
    Par Rastapwalu dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 13/05/2009, 14h13
  2. Comment conserver un UserControl dans chaque page?
    Par Whippet dans le forum ASP.NET
    Réponses: 8
    Dernier message: 13/03/2008, 16h05
  3. Différent titre dans chaque page ?
    Par {F-I} dans le forum Référencement
    Réponses: 13
    Dernier message: 03/02/2008, 17h14
  4. total dans chaque page d'un état access
    Par OBIWAN64 dans le forum IHM
    Réponses: 7
    Dernier message: 06/10/2007, 14h19
  5. [débutant] Même partie de page dans chaque page
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 10/12/2004, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo