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

SQL Procédural MySQL Discussion :

Utilisation de mysqli


Sujet :

SQL Procédural MySQL

  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 177
    Par défaut Utilisation de mysqli
    Bonjour,

    Je débute en POO, et je me demande s'il vaut mieux que j'ouvre une connection mysql en début de page pour la refermer à la fin (et passer l'objet créé par mysqli en paramètre pour que tous mes objets utilisent cette connection), ou s'il vaux mieux que je l'ouvre et la referme à cuaque création d'objet.

    Pour donner un exemple, faut-il mieux faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $bdd=new mysqli (...);
    $mon_objet1=new objet1 ($bdd);
    $mon_objet2=new objet2 ($bdd);
    (...)
    $bdd->close();
    ou ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mon_objet1=new objet1 ();
    $mon_objet2=new objet2 ();
    où chaque constructeur ouvrira une connection avec mysqli...

    Je ne sais pas si je suis très clair...

  2. #2
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    D'un point de vue logique, mieux vaut ouvrir, effectuer tous tes traitements et fermer plutôt que d'ouvrir, traiter une chose, fermer, puis ouvrir, traiter une autre, fermer, etc..

    Mais tu parles bien d'ouvrir une connexion pas d'exécution de requêtes ?
    Tout de façon, ça revient au même pour la solution que je te donne.

  3. #3
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 177
    Par défaut
    Merci de ta réponse

    En effet, d'habitude (en php4) je n'ouvrais qu'une fois ma connection par page. Mais avec le langage objet, mon soucis est qu'il faut à chaque fois passer l'objet $bdd à chaque initialisation, ce que je ne trouve pas super pratique. Et passer par une variable globale, ce n'est pas top non plus...

  4. #4
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    Sinon pour te conforter.. tu peux calculer le temps d'exécution de ton script et le comparer à celui de l'autre méthode.
    Etant donné que tu te reconnectes, tu te réidentifies et donc ça devrait mettre plus de temps dans la 1ère méthode.

  5. #5
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 177
    Par défaut
    Pas de soucis à ce niveau, je te fais confiance (comme je te le disais, c'est déjà ce que je faisais avant, donc je suis déjà convaincu ). Mon soucis par contre est que je ne vois pas comment ouvrir une connection pour l'ensemble de la page, en utilisant mysqli (en objet), pour pouvoir executer des requêtes dans mes autres classes...

    Dois-je obligatoirement passer l'objet $bdd dans mes constructeurs, pour ensuite le définir comme attribut de classe (afin que ma bdd soit utilisable par toutes les méthodes de ma classe)? Avec la version procédurale, je peux ouvrir la connection au début, faire toutes mes requêtes, puis fermer à la fin de ma page, mais c'est un peu dommage de faire de la POO et d'utiliser les fonctions en procédurales, je trouve... :S

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

Discussions similaires

  1. [MySQL] Impossibilité d'utiliser une requête MySQLi dans une fonction PHP
    Par Sestifer dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 10/01/2012, 14h40
  2. [phpMyAdmin] Utiliser l'extension MySQL au lieu de mysqli ?
    Par tintin72 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 27
    Dernier message: 25/02/2011, 09h37
  3. [MySQL] Utiliser les procédures stockées MySQL et étendre MySQLi dans PHP
    Par RideKick dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 12/09/2009, 13h14
  4. Impossible d'utiliser la base de donnees MySQLI
    Par Damouille dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/09/2009, 11h57
  5. [MySQL] [MySQLi] Désagrément lié à son utilisation dans des fonctions
    Par getdown dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/01/2008, 22h47

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