37 lines
969 B
PHP
37 lines
969 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
function db(): PDO
|
|
{
|
|
static $pdo = null;
|
|
if ($pdo !== null) {
|
|
return $pdo;
|
|
}
|
|
|
|
$host = env('DB_HOST', '127.0.0.1');
|
|
$port = env('DB_PORT', '3306');
|
|
$name = env('DB_NAME', 'palmas360');
|
|
$user = env('DB_USER', 'root');
|
|
$pass = env('DB_PASS', '');
|
|
|
|
try {
|
|
$pdo = new PDO(
|
|
"mysql:host=$host;port=$port;dbname=$name;charset=utf8mb4",
|
|
$user,
|
|
$pass,
|
|
[
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
PDO::ATTR_EMULATE_PREPARES => false,
|
|
]
|
|
);
|
|
} catch (\PDOException $e) {
|
|
http_response_code(503);
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
echo json_encode(['error' => 'Error de conexión a la base de datos.'], JSON_UNESCAPED_UNICODE);
|
|
exit;
|
|
}
|
|
|
|
return $pdo;
|
|
}
|