| 1234567891011121314151617181920212223242526 |
- <?php
- // db.php – shared PDO helper
- // Included by every script that needs a database connection.
- ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
- require_once __DIR__ . '/config.php';
- function get_pdo(): PDO {
- global $host, $dbname, $username, $password, $charset;
- static $pdo = null;
- if ($pdo === null) {
- $dsn = "mysql:host=$host;dbname=$dbname;charset=$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, $username, $password, $options);
- } catch (PDOException $e) {
- http_response_code(500);
- die('<p style="font-family:monospace;color:#c00">Database connection failed: '
- . htmlspecialchars($e->getMessage()) . '</p>');
- }
- }
- return $pdo;
- }
|