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 41 42
   | <?php
    class MyPDO extends PDO
    {
        private static $instance;
 
        public function __construct()
        {
            if (!empty(self::$instance))
                throw new Exception('MyPDO a déjà été instanciée');
 
            parent::__construct(config('DB_SGBDR').':host='.config('DB_HOST').';dbname='.config('DB_NAME'), config('DB_LOGIN'), config('DB_PASS'));
            self::$instance = $this;
        }
 
        public function getInstance()
        {
            if (empty(self::$instance))
                new self;
 
            return self::$instance;
        }
 
        public function exec($query)
        {
            $retour = parent::exec($query);
 
            if ($retour === false)
                exit('<pre>'.print_r($this->errorInfo(), true).'</pre>');
 
            return $retour;
        }
 
        public function query($query)
        {
            $retour = parent::query($query);
 
            if ($retour === false)
                exit('<pre>'.print_r($this->errorInfo(), true).'</pre>');
 
            return $retour;
        }
    } | 
Partager