<?php
/**
 * PHP 8.4 Optimized Database Connection
 */

if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

// Enable strict error reporting for mysqli (Default in PHP 8.1+)
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// Database configuration
$servername = "localhost";
$username = "root";
$password = ""; 
$dbname = "bhartiya_seva";

try {
    // Create connection
    $conn = new mysqli($servername, $username, $password);

    // Automated DB selection/creation
    $conn->query("CREATE DATABASE IF NOT EXISTS " . $dbname);
    $conn->select_db($dbname);
    
    // Set charset to utf8mb4 for modern emoji/special char support
    $conn->set_charset("utf8mb4");

} catch (mysqli_sql_exception $e) {
    // PHP 8.4 style error handling
    die("<div style='text-align:center; padding:50px; font-family:sans-serif;'>
            <h2>System Maintenance</h2>
            <p>We are currently updating our servers to PHP 8.4. Please check back shortly.</p>
            <p style='font-size:0.8rem; color:#666;'>Error Link: " . htmlspecialchars($e->getMessage() ?? 'Connection failed') . "</p>
         </div>");
}

/**
 * Null-safe escape function for PHP 8.1+
 */
if (!function_exists('escape')) {
    function escape(?string $string): string {
        global $conn;
        if ($string === null) return '';
        return mysqli_real_escape_string($conn, $string);
    }
}

/**
 * Null-safe htmlspecialchars wrapper for PHP 8.1+
 */
if (!function_exists('h')) {
    function h(?string $value): string {
        return htmlspecialchars($value ?? '', ENT_QUOTES, 'UTF-8');
    }
}
?>
