host = $host; $this->dbname = $dbname; $this->username = $username; $this->password = $password; // password: Qt358nUdyeTxLDM8 self::$pdo = new \PDO('mysql:host='.$host.';dbname='.$dbname, $username, $password); } /* retourne une instance de la classe */ public static function getInstance(){ if( self::$instance == null ){ // chargement de la configuration du server SQL if( $_SERVER['HTTP_HOST'] != 'stefproject' ) $conf = json_decode( ResourceDispatcher::getResource(self::$config_path[0]), true ); else $conf = json_decode( ResourceDispatcher::getResource(self::$config_path[1]), true ); // creation de l'instance en fonction des parametres self::$instance = new DataBase($conf['host'], $conf['dbname'], $conf['user'], $conf['password']); } return self::$instance; } /* retourne la connection statique */ public static function getPDO(){ $instance = self::getInstance(); return self::$pdo; } /*************************************************************/ /* _____ ______ _ _ ______ _____ _ */ /* / ____| ____| \ | | ____| __ \ /\ | | */ /* | | __| |__ | \| | |__ | |__) | / \ | | */ /* | | |_ | __| | . ` | __| | _ / / /\ \ | | */ /* | |__| | |____| |\ | |____| | \ \ / ____ \| |____ */ /* \_____|______|_| \_|______|_| \_\/_/ \_\______| */ /* */ /*************************************************************/ /* SUPPRIME LES VALEURS À CLÉS NUMÉRIQUES DANS UN FETCH D'UNE TABLE DE LA BDD * * @fetchData le résultat d'une $requeteSQL->fetchAll() * * @return newFetchData retourne le tableau donné en paramètre mais sans les valeurs à clés numériques * */ public static function delNumeric($fetchData, $oneDimension=false){ /* [1] 2 dimensions ===============================================*/ if( !$oneDimension ){ // on supprime les doublons des entrées (indice numérique) for( $i = 0 ; $i < count($fetchData) ; $i++ ) // pour tout les utilisateurs foreach($fetchData[$i] as $col => $val){ // pour toutes les entrées if( !mb_detect_encoding($val, 'UTF-8') ) $fetchData[$i][$col] = utf8_encode($val); if( is_int($col) ) // si l'indice est un entier unset( $fetchData[$i][$col] ); // on le supprime } /* [2] 1 dimensions ===============================================*/ }else{ // on supprime les doublons des entrées (indice numérique) foreach($fetchData as $i=>$val){ // pour toutes les entrées if( !mb_detect_encoding($val, 'UTF-8') ) $fetchData[$i] = utf8_encode($val); if( is_int($i) ) // si l'indice est un entier unset( $fetchData[$i] ); // on le supprime } } return $fetchData; } } ?>