30 lines
569 B
PHP
30 lines
569 B
PHP
|
|
<?php
|
||
|
|
require_once __DIR__ . '/config.php';
|
||
|
|
|
||
|
|
function get_pdo(): PDO
|
||
|
|
{
|
||
|
|
static $pdo = null;
|
||
|
|
if ($pdo !== null) {
|
||
|
|
return $pdo;
|
||
|
|
}
|
||
|
|
|
||
|
|
$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,
|
||
|
|
];
|
||
|
|
|
||
|
|
$pdo = new PDO($dsn, DB_USER, DB_PASS, $options);
|
||
|
|
return $pdo;
|
||
|
|
}
|
||
|
|
|
||
|
|
|