PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4" ] ); } else { $pdo = new PDO( "mysql:host=" . DB_HOST . ";port=" . DB_PORT . ";dbname=" . DB_NAME, DB_USER, DB_PASSWORD, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4" ] ); } return $pdo; } catch (PDOException $e) { error_log("Database connection failed: " . $e->getMessage()); return false; } } // Test connection function function testConnection() { echo "

Testing Database Connections

"; // Test webuser connection echo "

Testing webuser connection:

"; $pdo = getDBConnection(false); if ($pdo) { echo "✓ webuser connection successful
"; try { $stmt = $pdo->query("SELECT DATABASE() as current_db, USER() as current_user"); $result = $stmt->fetch(); echo "Current database: " . $result['current_db'] . "
"; echo "Current user: " . $result['current_user'] . "
"; } catch (Exception $e) { echo "Error querying database: " . $e->getMessage() . "
"; } } else { echo "✗ webuser connection failed
"; } echo "
"; // Test root connection echo "

Testing root connection:

"; $pdo_root = getDBConnection(true); if ($pdo_root) { echo "✓ root connection successful
"; try { $stmt = $pdo_root->query("SHOW DATABASES"); $databases = $stmt->fetchAll(); echo "Available databases: "; foreach ($databases as $db) { echo $db['Database'] . " "; } echo "
"; } catch (Exception $e) { echo "Error querying databases: " . $e->getMessage() . "
"; } } else { echo "✗ root connection failed
"; } } // Uncomment the line below to test connections when accessing this file directly // if (basename(__FILE__) == basename($_SERVER['PHP_SELF'])) testConnection(); ?>