Files
sam-sales/lib/mydb.php

38 lines
1.2 KiB
PHP
Raw Normal View History

2025-12-17 12:59:26 +09:00
<?php
// Function to load .env if not loaded (though session.php usually handles it)
function loadEnvOnly() {
$envFile = dirname(__DIR__) . '/.env';
if (file_exists($envFile) && empty($_ENV['DB_HOST'])) {
$lines = file($envFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($lines as $line) {
if (strpos($line, '=') !== false && strpos($line, '#') !== 0) {
list($key, $value) = explode('=', $line, 2);
$_ENV[trim($key)] = trim($value);
}
}
}
}
function db_connect(){
loadEnvOnly();
$db_host = $_ENV['DB_HOST'] ?? 'localhost';
2025-12-17 12:59:26 +09:00
$db_name = $_ENV['DB_NAME'] ?? 'chandj';
$db_user = $_ENV['DB_USER'] ?? 'root';
$db_pass = $_ENV['DB_PASS'] ?? 'root';
$dsn = "mysql:host=".$db_host.";dbname=".$db_name.";charset=utf8mb4";
try {
$pdo = new PDO($dsn, $db_user, $db_pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4, sql_mode='NO_ENGINE_SUBSTITUTION'"
]);
} catch (PDOException $Exception) {
throw new Exception('DB Connection Failed: ' . $Exception->getMessage());
2025-12-17 12:59:26 +09:00
}
return $pdo;
}
?>