File manager - Edit - /home/webapp69.cm.in.th/u69319090044/shop/classes/Database.php
Back
<?php // classes/Database.php - Database connection wrapper using Singleton pattern class Database { private static $instance = null; private $pdo; // Database configurations private const DB_HOST = 'localhost'; private const DB_NAME = 'shop69319090044'; private const DB_USER = 'u69319090044'; private const DB_PASS = '@6944'; private const DB_CHAR = 'utf8mb4'; private function __construct() { $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; try { $dsn = "mysql:host=" . self::DB_HOST . ";dbname=" . self::DB_NAME . ";charset=" . self::DB_CHAR; $this->pdo = new PDO($dsn, self::DB_USER, self::DB_PASS, $options); } catch (PDOException $e) { try { // Fallback for local development (XAMPP default) $this->pdo = new PDO("mysql:host=127.0.0.1;dbname=online_shop;charset=utf8mb4", 'root', '', $options); } catch (PDOException $e2) { throw new Exception("Database connection failed: " . $e->getMessage()); } } } // Prevent cloning and unserialization private function __clone() {} public function __wakeup() {} public static function getInstance() { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; } public function getConnection() { return $this->pdo; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.23 |
proxy
|
phpinfo
|
Settings