getMessage()); } // PDO拡張の確認 if (!extension_loaded('pdo')) { die("4. ERROR: PDO extension not loaded"); } if (!extension_loaded('pdo_mysql')) { die("4. ERROR: PDO_MySQL extension not loaded"); } echo "4. PDO and PDO_MySQL extensions loaded.\n"; // データベース接続テスト try { $dsn = 'mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=utf8mb4'; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; echo "5. Attempting to connect to database...\n"; echo " - DSN: " . $dsn . "\n"; echo " - User: " . DB_USER . "\n"; $pdo = new PDO($dsn, DB_USER, DB_PASS, $options); echo "6. Database connection successful!\n"; // 簡単なクエリで接続を確認 $stmt = $pdo->query("SELECT 1 AS test"); $result = $stmt->fetch(); echo "7. Test query result: " . ($result['test'] === 1 ? 'OK' : 'FAILED') . "\n"; } catch (PDOException $e) { die("6. ERROR: Database connection failed - " . $e->getMessage()); } echo "All tests passed successfully!\n";