La première étape avant de se lancer dans la conception de son site et de créer une connexion directe avec sa base de données si vous avez besoin de stocker des données par la suite.


Nous allons pour créer pour commencer un nouveau dossier à la racine du dossier de votre site que vous nommerez bd. Dans ce dossier vous allez créer un nouveau fichier que l'on appellera connexionDB.php. Dans ce fichier nous allons mettre tout le code qui sera sur cet article.


Page connexionDB.php


Le code ci-dessous est une classe qui permet de créer cette connexion. Cependant il vous faudra renseigner quelques informations essentielles telles que :

  • le nom de l'host, (si vous êtes en local alors l'host se nommera localhost)
  • le nom de votre base de données,
  • l'utilisateur,
  • le mot de passe (sous Windows il se peut qu'il ne faudra pas mettre root).


<?php
  // Déclaration d'une nouvelle classe
  class connexionDB {
    private $host    = 'localhost';  // nom de l'host  
    private $name    = 'monsite';    // nom de la base de donnée
    private $user    = 'root';       // utilisateur 
    private $pass    = 'root';       // mot de passe (il faudra peut-être mettre '' sous Windows)
    private $connexion;
    
    function __construct($host = null, $name = null, $user = null, $pass = null){
      if($host != null){
        $this->host = $host;           
        $this->name = $name;           
        $this->user = $user;          
        $this->pass = $pass;
      }
      try{
        $this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name,
          $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8', 
          PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
      }catch (PDOException $e){
        echo 'Erreur : Impossible de se connecter  à la BDD !';
        die();
      }
    }
  }
?>


Le code ci-dessous vous permettra d'utiliser cette classe afin de créer une connexion pour y réaliser des requêtes SQL.


// Faire une connexion à votre fonction
$DB = new connexionDB();


Fonction query


L'utilité de la fonction query va vous permettre de gagner un gain de vitesse lorsque vous allez écrire une requête SQLafin d'interroger votre serveur.

La fonction query est à utiliser de préférence avec la requête SELECT.


public function query($sql, $data = array()){
  $req = $this->connexion->prepare($sql);
  $req->execute($data);

  return $req;
}


Rajouter cette fonction dans la classe connexionDB.


Ci-dessous le code pour utiliser cette fonction de plusieurs façon.


// Première méthode
$req = $DB->query("SELECT * FROM nom_table");
$req = $req->fetch();
// Deuxième méthode
$req = $DB->query("SELECT * FROM nom_table WHERE id = ?",
  array(1));
$req = $req->fetch();
// Troisième méthode
$req = $DB->query("SELECT * FROM nom_table WHERE id = :id",
  array('id' => 1));
$req = $req->fetch();


Fonction Insert


Je vous propose une fonction que j'ai nommé insert afin d'insérer, de modifier ou de supprimer des données sur votre serveur.

La fonction insert est à utiliser de préférence avec les requêtes INSERTUPDATE et DELETE.


public function insert($sql, $data = array()){
  $req = $this->connexion->prepare($sql);
  $req->execute($data);
}


Rajouter cette fonction dans votre classe connexionDB.


Ci-dessous je vous montre comment utiliser cette fonction de plusieurs façon.


<?php// Première méthode avec INSERT
  $DB->insert("INSERT INTO nom_table (prenom, nom, age) VALUES (?, ?, ?)",
    array("jean", "dupont", 20));
  // Deuxième méthode avec UPDATE
  $DB->insert("UPDATE nom_talbe SET prenom = ?, nom = ?, age = ? WHERE id = ?",
    array("michel", "durant", 22, 1));
  // Troisième méthode avec DELETE
  $DB->query("DELETE FROM nom_table WHERE id = ?",
    array(1));
?>


Rendu final


Voici ce que devra contenir votre fichier connexionDB.php pour poursuivre les différents articles. (Vous pouvez également le faire avec votre propre méthode pour les articles d'après).


<?php
  // Déclaration d'une nouvelle classe
  class connexionDB {
    private $host    = 'localhost';   // nom de l'host
    private $name    = 'monsite';     // nom de la base de donnée
    private $user    = 'root';        // utilisateur
    private $pass    = 'root';        // mot de passe
    //private $pass    = '';          // Ne rien mettre si on est sous windows
    private $connexion;
                    
    function __construct($host = null, $name = null, $user = null, $pass = null){
      if($host != null){
        $this->host = $host;           
        $this->name = $name;           
        $this->user = $user;          
        $this->pass = $pass;
      }
      try{
        $this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name,
          $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8', 
          PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
      }catch (PDOException $e){
        echo 'Erreur : Impossible de se connecter  à la BDD !';
        die();
      }
    }
    
    public function query($sql, $data = array()){
      $req = $this->connexion->prepare($sql);
      $req->execute($data);
      return $req;
    }
    
    public function insert($sql, $data = array()){
      $req = $this->connexion->prepare($sql);
      $req->execute($data);
    }
  }
  
  // Faire une connexion à votre fonction
  $DB = new connexionDB();
?>
+99999
Modifié le 04 mars 2019
Publicité Sitedudev
Cette pub permet au site de vivre ...
Télécharger le code source
Publicité
Cette pub permet au site de vivre ...
Voir d'autres articles
3 022 vues
Formulaire d'inscription en PHP (2/2)
Dans cette deuxième partie nous allons compléter et sécuriser notre formulaire avec différentes conditions.Par exemple nous allons utiliser la function crypt de PHP.Exemple :<?php ...
Créer son site de rencontres
1 589 vues
Accepter ou refuser une demande d'amis
Nous allons enfin terminer notre système d'amis en permettant à l'utilisateur d'accepter ou de refuser une ou plusieurs demande grâce à une liste contenant toutes les demandes que l'utilisateur...
Créer son site de rencontres
1 812 vues
Afficher et envoyer les messages
Dans cette nouvelle vidéo nous allons afficher les messages entre vous et un autre utilisateur.Nous allons également créer un formulaire afin d'envoyer de nouveaux messages à l'utilisateur avec...
Créer son site de rencontres
416 vues
Flexbox : créer des mises en page flexibles et responsives
Flexbox : Créer des Mises en Page Flexibles et ResponsivesFlexbox est une méthode de disposition en CSS qui permet de créer des mises en page flexibles et responsives. Il offre un contrôle...
CSS
310 vues
Création de formulaires avec <form>
Création de formulaires avec <form>La balise <form> est utilisée pour créer des formulaires interactifs dans une page HTML. Elle permet aux utilisateurs de saisir et de soumettre des...
HTML
317 vues
Utilisation des attributs id et class pour identifier et styler les éléments
Utilisation des attributs id et class pour identifier et styler les élémentsLes attributs id et class sont utilisés pour identifier et styler les éléments HTML en leur attribuant des...
HTML
329 vues
Variables : déclaration, types de données (chaînes de caractères, nombres entiers et flottants, booléens)
Les variables sont des éléments fondamentaux en programmation, utilisées pour stocker des données et leur attribuer des noms. En PHP, les variables peuvent stocker différents types de données,...
PHP
259 vues
Tableaux indexés
Les tableaux indexés en PHP sont des structures de données qui permettent de stocker plusieurs valeurs dans une seule variable. Chaque valeur est associée à un indice numérique, à partir de...
PHP
Publicité
Cette pub permet au site de vivre ...