host = getenv('DB_HOST') ?: 'localhost'; $this->db_name = getenv('DB_NAME') ?: 'inventory_db'; $this->username = getenv('DB_USER') ?: 'root'; $this->password = getenv('DB_PASS') ?: ''; } public function getConnection() { $this->conn = null; try { $dsn = "mysql:host=" . $this->host . ";dbname=" . $this->db_name . ";charset=utf8mb4"; $this->conn = new PDO($dsn, $this->username, $this->password); $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->conn->exec("set names utf8"); } catch(PDOException $exception) { error_log("Database connection error: " . $exception->getMessage()); throw new Exception("Database connection failed"); } return $this->conn; } } ?>