Mini Shell
<?php
// Configuration only - no HTML output
define('BASE_PATH', dirname(__DIR__));
define('APP_FOLDER', 'edgeviewacademy');
define('CURRENT_PAGE', basename($_SERVER['REQUEST_URI']));
$host = 'localhost';
$username = 'mhcadmin_Kuyesa';
$password = 'Kuyesa@123';
$database = 'mhcadmin_Kuyesa';
define('DB_HOST', 'localhost');
define('DB_USER', 'mhcadmin_Kuyesa');
define('DB_PASS', 'Kuyesa@123');
define('DB_NAME', 'mhcadmin_Kuyesa');
define('APP_NAME', 'EDGE VIEW ACADEMY');
// Error reporting (disable in production)
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Include database library
require_once BASE_PATH . '/libz/MysqliDb.php';
// Single database connection function
function getDbInstance() {
static $db = null;
if ($db === null) {
try {
$db = new MysqliDb(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$db->connect();
} catch (Exception $e) {
error_log("Database connection failed: " . $e->getMessage());
// Don't display errors to users in production
die("System temporarily unavailable. Please try again later.");
}
}
return $db;
}
// Optional: For legacy code that needs mysqli directly
function getMysqliConnection() {
static $mysqli = null;
if ($mysqli === null) {
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if ($mysqli->connect_error) {
error_log("MySQLi connection failed: " . $mysqli->connect_error);
die("System temporarily unavailable.");
}
}
return $mysqli;
}
// Optional: For PDO if needed
function getPDOConnection() {
static $pdo = null;
if ($pdo === null) {
try {
$pdo = new PDO(
"mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=utf8mb4",
DB_USER,
DB_PASS,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false
]
);
} catch (PDOException $e) {
error_log("PDO connection failed: " . $e->getMessage());
die("System temporarily unavailable.");
}
}
return $pdo;
}
// Create connection
$conn = new mysqli($host, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>