je ne suis pa connecter a la base de donné la try et catch ne fonction pas meme si l'orsque je fais des erreurs a la configuration

<?php
class Model{
    static $connections=array();
    public $conf='default';
    public $table=false;
    public $db;
    function __construct(){
        //connection bd
        $conf=Conf::$databases$this->conf];
        if(isset(Model::$connections$this->conf])){
            $this->db=Model::$connections$this->conf];
            return true;
        }
        try{ 
        $pdo= new PDO('mysql::host='.$conf'host'].';dbname='.$conf'database'].';',$conf'login'],$conf'password']);
        Model::$connections$this->conf]=$pdo;
        $this->db=$pdo;
            }
            catch(PDOException $e){
                if(Conf::$debug >=1){
                    die(print_r($e->getMessage()));
                }
                else{
                    die("Impossible de se connecter a la base de donnee");
                }

            }
            //ini qqe variable
            if($this->table===false){
                $this->table=strtolower( get_class($this)).'s';

            }
    }
    function find($req){
        $sql='SELECT * FROM '.$this->table .'as '.get_class($this).'';
        if(isset($req'conditions'])){
            $sql='WEREE'.$req'conditions']; 
        }

        $pre=$this->db->prepare($sql);
        $pre->execute();
        return $pre->fetchAll(PDO::FETCH_OBJ);
}
function findFirst($req){
        return current( $this->find($req));

    }
}
?>

<?php
/**
* 
*/
class Conf
{
    static $debug=1;

static $databases=array(

    'default'=>array(
      'host'=>'localhost',
      'database'=>'test',
      'login'=>'root',
      'password'=>''

        )
);

}

?>

<?php
class PageController extends Controller{

 function view($id){
    $this->loadModel('Post');
    $post=$this->Post->findFirst(array(
        'conditions'=>'id=1'));
    $this->set('post',$post);
    print_r($post);

}

}
?>

4 réponses


quelle que idée svp

Salut,

Ma connexion à ma base de données marche nickel comme ça (je l'ai adaptée ) tes données):

<?php
try{
    $DB = new PDO('mysql:host=localhost;dbname=test','root','',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'));
}
catch(PDOException $e){
    echo 'Connexion impossible';
    exit();
}
?>

Bon courage :)

il peut etre que j'ai un erreur de serveur wamp
merci creabip6

Bonjour,

Est-ce que ça affiche une erreur ? Je ne suis pas certain de comprendre ton problème. Tu dois passé dans le try catch dans le but de prévenir une erreur et que le reste de ton application plante. Dans ton cas, c'est normal que tu vois rien puisque la connexion doit forcément se faire. Si tu veux essayé, ajoute un echo "Connexion réussite";. Quand tu rafraîchis ta page web, tu devrais voir « Connexion réussite » ou le message que tu as indiqué dans le catch.

Bonne chance,
Ramz.