File manager - Edit - /home/webapp69.cm.in.th/u69319090030/030 shop/config/db.php
Back
<?php // Database configuration (Auto-switch between localhost and webapp69 hosting) if (isset($_SERVER['HTTP_HOST']) && strpos($_SERVER['HTTP_HOST'], 'webapp69.cm.in.th') !== false) { // Production / Hosting Environment define('DB_HOST', 'localhost'); define('DB_USER', 'u69319090030'); define('DB_PASS', '@6930'); define('DB_NAME', 'u69319090030'); } else { // Localhost / XAMPP Environment define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', ''); define('DB_NAME', 'cyberpunk_shop'); } // Cyberpunk Settings define('INVITE_CODE', 'CYBERADMIN2026'); define('JWT_SECRET', 'cyberpunk-super-secret-key-2026-xyz-glow-red'); 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, ]); // If connecting with dbname works, check if tables exist; if not, import schema try { $checkTable = $pdo->query("SHOW TABLES LIKE 'products'"); if (!$checkTable->fetch()) { $schemaFile = dirname(__DIR__) . '/schema.sql'; if (file_exists($schemaFile)) { $sql = file_get_contents($schemaFile); $pdo->exec($sql); } } } catch (PDOException $ex) { // Ignore table check error if any } } catch (PDOException $e) { // If the database does not exist, try to connect to server and create it try { $tempPdo = new PDO("mysql:host=" . DB_HOST . ";charset=utf8mb4", DB_USER, DB_PASS); $tempPdo->exec("CREATE DATABASE IF NOT EXISTS `" . DB_NAME . "` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); // Connect to the newly created database $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, ]); // Import schema $schemaFile = dirname(__DIR__) . '/schema.sql'; if (file_exists($schemaFile)) { $sql = file_get_contents($schemaFile); $pdo->exec($sql); } } catch (PDOException $ex) { die("Database connection failed: " . $ex->getMessage()); } } // ระบบอัปเกรดโครงสร้างตารางอัตโนมัติ (Database Auto-Migration / Self-Healing) try { // 1. ตรวจสอบคอลัมน์ category ในตาราง products $checkProductCategory = $pdo->query("SHOW COLUMNS FROM products LIKE 'category'"); if (!$checkProductCategory->fetch()) { $pdo->exec("ALTER TABLE products ADD COLUMN category VARCHAR(30) DEFAULT 'general'"); } // 2. ตรวจสอบคอลัมน์ size ในตาราง order_items $checkOrderItemSize = $pdo->query("SHOW COLUMNS FROM order_items LIKE 'size'"); if (!$checkOrderItemSize->fetch()) { $pdo->exec("ALTER TABLE order_items ADD COLUMN size VARCHAR(10) DEFAULT NULL"); } // 3. ตรวจสอบคอลัมน์ color ในตาราง order_items $checkOrderItemColor = $pdo->query("SHOW COLUMNS FROM order_items LIKE 'color'"); if (!$checkOrderItemColor->fetch()) { $pdo->exec("ALTER TABLE order_items ADD COLUMN color VARCHAR(20) DEFAULT NULL"); } } catch (PDOException $ex) { // ข้ามกรณีที่ตารางยังไม่ถูกสร้างในขั้นตอนแรก } // รวมระบบยกเลิกออเดอร์หมดอายุอัตโนมัติ (30 นาที) require_once __DIR__ . '/auto_cancel.php';
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings