<?php
// 检查是否使用 SQLite（根据 .use_sqlite 标记文件）
$useSqlite = file_exists(__DIR__ . '/.use_sqlite') && trim(file_get_contents(__DIR__ . '/.use_sqlite')) === '1';

if ($useSqlite) {
    // 使用 SQLite 数据库
    $dbPath = __DIR__ . '/wedding_data.db';
    try {
        $pdo = new PDO("sqlite:$dbPath");
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // 设置 SQLite 为外键约束模式
        $pdo->exec("PRAGMA foreign_keys = ON");
    } catch (PDOException $e) {
        error_log('SQLite数据库连接失败: ' . $e->getMessage());
        die('数据库连接失败，请联系管理员。');
    }
} else {
    // 使用 MySQL 数据库
    $host = getenv('DB_HOST') ?: '127.0.0.1';
    $dbname = getenv('DB_NAME') ?: 'wedding_db';
    $user = getenv('DB_USER') ?: 'root';
    $pass = getenv('DB_PASS') ?: '';
    $charset = 'utf8mb4';

    try {
        $dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";
        $pdo = new PDO($dsn, $user, $pass);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $e) {
        error_log('MySQL数据库连接失败: ' . $e->getMessage());
        die('数据库连接失败，请联系管理员。');
    }
}
?>