PHP

Nouvelle série de video du Sitedudev #5 (2020)

Résolu

bonjour,


je suis la nouvelle série de video, et je bloque a la partie #5 lorsqu'il faut se connecter a la base de donnée


je bloque , je ne sais pas pourquoi je n'arrive pas a me connecter a ma base de donnée.

Ici, on a crée la class affin de renvoyer une erreur si la connexion echoue. Et il savert que j'ai l'erreur en quéstion.


ce que j'ai déjà fait : (tout en redémarrant WAMP a chaque fois)

1-changer le nom de la base de donnée (ainsi que du fichier php ).

2-changer le type d'encodage.

3-supprimer le base de donner et en créer une autre.

4-essayer de passer par le dossier WWW au lieu de passer par le virtualhost créée.

5-telecharger la dernier version de WAMP bien installée et bien démarrée.

6-verifier le chemin du dossier dans lequel se trouve le fichier de connexion a la base de donner.

7- changer include_once() en include().


j'aimerais beaucoup continuer a suivre les videos mais pour ça j'ai besoin de vous :(


le liens de la video :


https://www.youtube.com/watch?v=wbdvqzC3u74&t=811s


et voici mon code :


<?php 


//DECLARATION D'UNE NOUVELLE CLASSE


class connexionDB{
	private $host = 'localhost';//nom de l'host
	private $name = 'pokemon';//nom de la base de donnee
	private $user = 'root';//utilisateur
	private $pass = '';
	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 UTF8MB4', PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
		}catch(PDOException $e){
			echo 'Erreur : Impossible de se connecter a la BDD! : '.$this->name;
			die();
		}
	}
	public function connexion(){
		return $this->connexion;
	}
}
$DB = new connexionDB;
$BDD = $DB->connexion();


?>



1105 vues
01 mars 2020 à 17:05 (Édité)
Cette pub permet au site de vivre ...

17 commentaires

salut @Didoub74


désolé je pensais t'avoir répondu !


alors non, j'ai essayé et ça ne fonctionne pas non plus.

bonjour @Clouder


regarde mon code, je n'ai rien mis en mot de passe justement

@Dieunel,


Oui le code qu'il a mis est pour toi ..


Je suppose que tu es sur Windows ?


Donc si c'est le cas il faut que tu regardes ça :


// private $pass    = 'root';   // Mettre root si on est sous Mac OS X ou Linux
private $pass    = '';          // Ne rien mettre si on est sous windows

@Didoub74

salut !


le code que tu as mis est pour moi?

Hello @Dieunel,


Déjà tu utilises Wamp... Désinstalles-le avec Revo Uninstaller. Pourquoi le désinstaller ? Consulte ce topic.

Avec XAMPP, tu n'auras pas besoin d'avoir de mot de passe lors de la connexion à la base de données. Tes problèmes de connexions seront réglés...

Est ce que ce code marche : ?


<?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();
?>
Cette pub permet au site de vivre ...
1
2