Edit db/config.php via Editor

This commit is contained in:
admin 2025-11-08 06:44:33 +00:00
parent 3aeab0df74
commit 489adf71dd

View File

@ -1,32 +1,29 @@
<?php <?php
// db/config.php - FIXED FOR FLATLOGIC DEFAULT DB // db/config.php — USING SQLITE (no DB server needed)
function db() function db()
{ {
static $p = null; static $pdo = null;
if ($p) { if ($pdo) return $pdo;
return $p;
$dbFile = __DIR__ . '/../database.sqlite';
// Ensure db directory exists
if (!is_dir(dirname($dbFile))) {
mkdir(dirname($dbFile), 0755, true);
} }
// Try common Flatlogic defaults
$host = '127.0.0.1';
$port = 3306;
$dbname = 'verified_donations'; // Keep this as-is
$username = 'root'; // Most common default user
$password = ''; // Often no password
$dsn = "mysql:host=$host;port=$port;dbname=$dbname;charset=utf8mb4";
try { try {
$p = new PDO($dsn, $username, $password, [ $pdo = new PDO("sqlite:$dbFile");
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
PDO::ATTR_EMULATE_PREPARES => false,
]); // Enable foreign keys & UTF-8
return $p; $pdo->exec("PRAGMA foreign_keys = ON;");
$pdo->exec("PRAGMA encoding = 'UTF-8';");
return $pdo;
} catch (PDOException $e) { } catch (PDOException $e) {
// Friendly error message for users throw new Exception("SQLite error: " . $e->getMessage());
error_log('Database connection failed: ' . $e->getMessage());
throw new Exception("Database not ready. Please contact support.");
} }
} }