VoituresApi-API/config.php

43 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
/**
* Configuration de la base de données WampServer (MySQL / phpMyAdmin)
*/
define('DB_HOST', '127.0.0.1');
define('DB_PORT', '3306');
define('DB_NAME', 'voituresapi');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_CHARSET', 'utf8mb4');
/**
* Retourne une instance PDO connectée à la base de données
*/
function getDB(): PDO
{
static $pdo = null;
if ($pdo === null) {
$dsn = sprintf('mysql:host=%s;port=%s;dbname=%s;charset=%s', DB_HOST, DB_PORT, DB_NAME, DB_CHARSET);
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, DB_USER, DB_PASS, $options);
} catch (PDOException $e) {
http_response_code(500);
header('Content-Type: application/json; charset=UTF-8');
echo json_encode([
'success' => false,
'error' => 'Erreur de connexion à la base de données: ' . $e->getMessage()
], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
exit;
}
}
return $pdo;
}