getConnection(); echo "
Добавляем тестовые категории...
"; $db->exec(" INSERT INTO categories (name, slug, description) VALUES ('Диваны', 'divany', 'Мягкая мебель для гостиной'), ('Кресла', 'kresla', 'Кресла для гостиной и офиса'), ('Кровати', 'krovati', 'Мебель для спальни') "); echo "✓ Категории добавлены
"; } // 2. Проверяем товары с некорректными category_id $stmt = $db->query(" SELECT COUNT(*) as bad_count FROM products WHERE category_id IS NULL OR category_id NOT IN (SELECT category_id FROM categories) "); $bad_count = $stmt->fetchColumn(); if ($bad_count > 0) { echo "Исправляем товары с некорректными категориями ($bad_count шт)...
"; // Устанавливаем первую доступную категорию $stmt = $db->query("SELECT category_id FROM categories LIMIT 1"); $first_cat = $stmt->fetchColumn(); if ($first_cat) { $db->exec(" UPDATE products SET category_id = $first_cat WHERE category_id IS NULL OR category_id NOT IN (SELECT category_id FROM categories) "); echo "✓ Товары исправлены (установлена категория ID: $first_cat)
"; } } // 3. Показываем текущее состояние echo "Категории:
Товары:
"; echo "| ID | Название | Категория ID | Категория |
|---|---|---|---|
| {$row['product_id']} | "; echo "" . htmlspecialchars($row['name']) . " | "; echo "" . ($row['category_id'] ?: 'NULL') . " | "; echo "" . ($row['cat_name'] ?: 'Без категории') . " | "; echo "
✓ База данных исправлена!
"; } catch (PDOException $e) { echo "Ошибка: " . $e->getMessage() . "
"; } ?>