PHP

Problème de connexion à une base de données

Non Résolu

Bonjour,


J'ai développer un site pour mon père qui est professeur de maths, lui permettant de partager ses cours simplement avec ses élèves.

Mais le problème c'est que je n'arrive pas à établir de connexion avec la base de donnée, et je ne comprends vraiment pas d'où vient le problème.


$bdd = new PDO('mysql:host=hostingmysql335.amen.fr;dbname=matheclair', $user, $pass);


L'erreur vient de cette ligne, ça dit "Fatal error: Class 'PDO' not found in /htdocs/public/www/files/core.php on line 5".

L'erreur ne vient donc pas des identifiants, et le nom de la base de donnée est le bon.

Sur Amen (l'hébergeur), il y a bien écrit : Host : hostingmysql335.amen.fr.


Voilà si vous avez des réponses ça m'aiderai beaucoup, étant donné que le site doit être opérationnel d'ici quelques jours 😕

1022 vues
14 septembre 2020 à 23:52 (Édité)
Cette pub permet au site de vivre ...

13 commentaires

Re:


OK ! 😉

Alors pour le code de la connexion à la base de données, je t'aurais conseillé de faire plutôt comme ça :


<?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();
      }
    }
  }
?>


On est bien d'accord que "******" sont les identifiants que tu as cachés à la vue de tout le monde sur le topic ? 🤔

Il faut que tes identifiants correspondent exactement à ceux de ta base de données (respect de la majuscule, minuscule, caractères...etc.)

@Jerem971 Voilà :


<?php
session_start();
$user = "******";
$pass = "******";
$bdd = new PDO('mysql:host=hostingmysql335.amen.fr;dbname=matheclair', $user, $pass);
$MB = 1048576;

$codeValid = array('mmdp','na','mi','sd','ac');

// FONCTIONS

class Securite
{
   // DONNÉES ENTRANTES
   public static function bdd($string) {

      if(ctype_digit($string)) {

         $string = intval($string);

      }
      else {
         $connexion = new msqli("localhost", "****", "****", "matheclair");
         $string = mysqli_real_escape_string($connexion, $string);
         $string = addcslashes($string, '%_');

      }

      return $string;

   }

   public static function html($string) {

      return htmlentities(stripcslashes($string));

   }
}

Hello @WebScience,


Selon le message d'erreur, il y a un problème de classe au niveau du fichier "core.php"

Peux-tu nous montrer l'intégralité du contenu de ce fichier ? 🤔

Cette pub permet au site de vivre ...
1
2