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 43 44 45 46
| <?php
// @author : rawsrc - 2018 - Pour DVP
// on vérifie si la fonction de connexion a déjà été définie afin d'éviter de la redéfinir
//
// tuto très bien fait : https://www.developpez.net/forums/blogs/244172-dendrite/b5417/pdo-soupe-lit/
if ( ! function_exists('db_connexion')) {
function db_connexion() {
//$sname = 'db5007336.hosting-data.io'; sert à rien
$db_name = 'dbs6028';
$uname = 'dbu895';
$password = 'Chacha!!';
/*
* j'ai modifié 2 paramètres pour pouvoir tester chez moi
*/
/* $db_name = 'dbs6028';
$uname = 'root';
$password = 'root';*/
// une fois ouverte, on renvoie toujours la même connexion
static $pdo;
// on vérifie si la connexion n'a pas déjà été initialisée
if ( ! ($pdo instanceof PDO)) {
// tentative d'ouverture de la connexion MySQL
try { //les paramètres de connexion sont à adapter
$dns = "mysql:host=localhost;port=3306;";
$pdo = new PDO($dns."dbname=".$db_name.";charset=utf8",$uname,$password,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false
]
);
}
catch (PDOException $e) {
throw new InvalidArgumentException('Erreur connexion à la base de données : '.$e->getMessage());
exit;
}
}
// renvoi de la ressource : connexion à la base de données
return $pdo;
}
}
return db_connexion(); |
Partager