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

PHP & Base de données Discussion :

Classe de connexion


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Par défaut Classe de connexion
    Bonjour,
    alors voilà je débute, et j'ai voulu me faire une classe de connexion en utilisant PDO.
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
    	class Connexion{
    		private static $connectionString = "mysql:dbname=blog_POO;host=127.0.0.1;";
    		private static $connectionUser = "root"; 
    		private static $connectionPassword = "root";
     
    		public static function sql($sql,$array = null){
     
    			// mise en place de la connexion
    			$connexion = new PDO(self::$connectionString, self::$connectionUser, self::$connectionPassword);
     
    			//levée d'exception en cas d'erreur.
    			$connexion->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION);
     
    			//On prépapre la requête
    			$requ_Prepa = $connexion->prepare($sql);
    			$requ_Prepa->setFetchMode(PDO::FETCH_ASSOC);
     
    			//execution de la requête
    			$requ_Prepa->execute($array);
     
    			$datas = $requ_Prepa->fetchAll();
     
    			return $datas;
     
    		}				
    	}
    ?>
    Je voudrais avoir votre avis sur cette classe qui reste basique, pour savoir si ce que j'ai fait est "propre", et comment l'améliorer, afin de pouvoir me faire une classe de connexion a MySQL la plus complète possible.
    J'ai eu énormément de mal à comprendre le concept de PDO, et ne comprend toujours pas tout, soyez indulgent .

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour et bienvenu sur le forum,

    Il faudrait séparer la connexion et l'exécution de la requête car on ne refait pas la connexion a chaque fois qu'on lance une requête.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Par défaut
    Donc voilà j'ai modifié m'a classe :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?php
    	class Connexion{
    		private static $connectionString = "mysql:dbname=blog_POO;host=127.0.0.1;";
    		private static $connectionUser = "root"; 
    		private static $connectionPassword = "root";
    		private $connexion;
     
    		public function __construct(){
     
    			// mise en place de la connexion
    			$this->connexion = new PDO(self::$connectionString, self::$connectionUser, self::$connectionPassword);
     
    			//levée d'exception en cas d'erreur.
    			$this->connexion->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION);
    		}
     
    		public function endConnect(){
    			$this->connexion = null;
    		}
     
    		public function sql($sql,$array = null){
    			if (empty($this->connexion)){
    				echo "La connexion n'a pas &eacute;t&eacute; initialis&eacute;e";
    			}
    			else{
    			//On prépapre la requête
    			$requ_Prepa = $this->connexion->prepare($sql);
    			$requ_Prepa->setFetchMode(PDO::FETCH_ASSOC);
     
    			//execution de la requête
    			$requ_Prepa->execute($array);
     
    			$datas = $requ_Prepa->fetchAll();
     
    			return $datas;
    			}
    		}				
    	}
    ?>

    est-ce mieux?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Bonjour et bienvenu sur le forum,

    Il faudrait séparer la connexion et l'exécution de la requête car on ne refait pas la connexion a chaque fois qu'on lance une requête.
    Si je comprend bien, en fait j'ouvre ma connexion au début de ma page, j'effectue toutes les requêtes que j'ai à faire, et je referme cette connexion à la fin de ma page?

    Donc bah au final j'ai fait comme ça, et je passe ma connexion en paramêtre pour mes méthodes de classses qui ont besoin de faire une requête, est-ce une bonne façon de procéder?

Discussions similaires

  1. [Cookies] Classe de connexion à l'admin
    Par gtraxx dans le forum Langage
    Réponses: 17
    Dernier message: 23/01/2008, 23h41
  2. [POO] Classe de connexion à une base de données
    Par iwf-fr dans le forum Langage
    Réponses: 3
    Dernier message: 13/11/2007, 13h55
  3. pb de creation de classe de connexion
    Par oceane751 dans le forum JDBC
    Réponses: 2
    Dernier message: 30/07/2007, 15h37
  4. [MySQL] Classe database + connexion multiple + principe mal compris
    Par Rodrigue dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 14/08/2006, 14h06
  5. Petit souci JSP et class de connexion a BdD
    Par LeXo dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 07/06/2006, 00h57

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