<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

echo "<h1>🔧 تشخيص شامل لاتصال MySQL</h1>";

// ✅ استخدام المستخدم الجديد
$host = "localhost";
$user = "digitals_secure_user";  // ✅ تم التعديل
$pass = "bassam.bassam";          // ✅ كلمة المرور
$db = "digital_autostder_db";

echo "<h2>📊 معلومات الاتصال (بالمستخدم الجديد):</h2>";
echo "<ul>";
echo "<li>Host: $host</li>";
echo "<li>User: $user</li>";
echo "<li>Database: $db</li>";
echo "</ul>";

// 1️⃣ اختبار الاتصال بدون قاعدة بيانات
echo "<h3>1️⃣ محاولة الاتصال بالخادم فقط (بدون اختيار قاعدة بيانات)</h3>";
try {
    $pdo = new PDO("mysql:host=$host;charset=utf8mb4", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "<p style='color:green;'>✅ اتصال ناجح بالخادم</p>";
    
    // جلب قواعد البيانات
    $stmt = $pdo->query("SHOW DATABASES");
    $databases = $stmt->fetchAll(PDO::FETCH_COLUMN);
    
    echo "<p>قواعد البيانات المتاحة:</p>";
    echo "<ul>";
    foreach ($databases as $database) {
        if (!in_array($database, ['information_schema', 'mysql', 'performance_schema', 'sys'])) {
            echo "<li>" . $database . "</li>";
        }
    }
    echo "</ul>";
    
} catch (PDOException $e) {
    echo "<p style='color:red;'>❌ فشل الاتصال بالخادم: " . $e->getMessage() . "</p>";
}

echo "<hr>";

// 2️⃣ اختبار MySQLi
echo "<h3>2️⃣ محاولة باستخدام MySQLi</h3>";
try {
    $mysqli = new mysqli($host, $user, $pass);
    
    if ($mysqli->connect_error) {
        echo "<p style='color:red;'>❌ فشل MySQLi: " . $mysqli->connect_error . "</p>";
    } else {
        echo "<p style='color:green;'>✅ MySQLi اتصال ناجح</p>";
        
        // محاولة اختيار قاعدة البيانات
        if ($mysqli->select_db($db)) {
            echo "<p style='color:green;'>✅ قاعدة البيانات '$db' متاحة</p>";
            
            // جلب الجداول
            $result = $mysqli->query("SHOW TABLES");
            if ($result) {
                echo "<p>عدد الجداول: " . $result->num_rows . "</p>";
            }
        } else {
            echo "<p style='color:orange;'>⚠️ لا يمكن الوصول لقاعدة البيانات '$db': " . $mysqli->error . "</p>";
        }
        
        $mysqli->close();
    }
} catch (Exception $e) {
    echo "<p style='color:red;'>❌ خطأ MySQLi: " . $e->getMessage() . "</p>";
}

echo "<hr>";

// 3️⃣ معلومات PHP
echo "<h3>3️⃣ معلومات PHP</h3>";
echo "<pre>";
echo "PHP Version: " . phpversion() . "\n";
echo "MySQLi موجود: " . (extension_loaded('mysqli') ? '✅' : '❌') . "\n";
echo "PDO MySQL موجود: " . (extension_loaded('pdo_mysql') ? '✅' : '❌') . "\n";
echo "</pre>";
?>