Line 39... |
Line 39... |
39 |
//+----------------------------------------------------------------------------------------------------------------+
|
39 |
//+----------------------------------------------------------------------------------------------------------------+
|
40 |
// GESTION de la BASE de DONNÉES
|
40 |
// GESTION de la BASE de DONNÉES
|
Line 41... |
Line 41... |
41 |
|
41 |
|
42 |
private function connecterPDO($config, $base = 'database') {
|
42 |
private function connecterPDO($config, $base = 'database') {
|
- |
|
43 |
$cfg = $config[$base];
|
43 |
$cfg = $config[$base];
|
44 |
// ATTENTION : la connexin à la bdd peut échouer si l'host vaut localhost. Utiliser 127.0.0.1 à la place.
|
44 |
$dsn = $cfg['phptype'].':dbname='.$cfg['database'].';host='.$cfg['hostspec'];
|
45 |
$dsn = $cfg['phptype'].':dbname='.$cfg['database'].';host='.$cfg['hostspec'];
|
- |
|
46 |
try {
|
45 |
try {
|
47 |
// Création de la connexion en UTF-8 à la BDD
|
46 |
$PDO = new PDO($dsn, $cfg['username'], $cfg['password']);
|
48 |
$PDO = new PDO($dsn, $cfg['username'], $cfg['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"));
|
47 |
} catch (PDOException $e) {
|
49 |
} catch (PDOException $e) {
|
48 |
echo 'La connexion à la base de donnée via PDO a échouée : ' . $e->getMessage();
|
50 |
echo 'La connexion à la base de donnée via PDO a échouée : ' . $e->getMessage();
|
49 |
}
|
- |
|
50 |
// Passe en UTF-8 la connexion à la BDD
|
- |
|
51 |
$PDO->exec("SET NAMES 'utf8'");
|
51 |
}
|
52 |
// Affiche les erreurs détectées par PDO (sinon mode silencieux => aucune erreur affiché)
|
52 |
// Affiche les erreurs détectées par PDO (sinon mode silencieux => aucune erreur affiché)
|
53 |
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
53 |
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
54 |
return $PDO;
|
54 |
return $PDO;
|