Проблема с отображением исполнителей из базы данных

Столкнулся с проблемой: исполнители не отображаются из базы данных, хотя подключение настроено правильно. Однако данные не только не выводятся, но и в консоли появляется ошибка подключения. Пробовал искать решение через ChatGPT, но это не помогло. Надеюсь на помощь сообщества.

Для диагностики привожу код, используемый для работы с БД:

Файл подключения к базе данных (db.php)

<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'task_app');

$mysql = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

if ($mysql->connect_errno) {
    die(json_encode(['error' => 'Ошибка подключения к БД: ' . $mysql->connect_error]));
}

$mysql->set_charset('utf8');
?>

Основной файл API (index.php)

<?php
error_reporting(0);
ini_set('display_errors', 0);

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

require_once __DIR__ . '/db.php';

if (!isset($mysql)) {
    die(json_encode(['error' => 'Ошибка подключения к базе данных']));
}

$method = $_SERVER['REQUEST_METHOD'];
$action = $_GET['action'] ?? '';

// Логика обработки запросов (GET, POST, PUT, DELETE) с различными действиями

if ($method === 'GET' && $action === 'get') {
    // Получение всех задач
    $result = $mysql->query("SELECT * FROM tasks ORDER BY created_at DESC");
    if (!$result) {
        die(json_encode(['error' => 'Ошибка запроса: ' . $mysql->error]));
    }
    $tasks = [];
    while ($row = $result->fetch_assoc()) {
        $tasks[] = $row;
    }
    echo json_encode($tasks);
    exit;
} elseif ($method === 'POST' && $action === 'create') {
    // Создание новой задачи
    $data = json_decode(file_get_contents('php://input'), true);
    $title = $data['title'] ?? '';
    $description = $data['description'] ?? '';
    $executor = $data['executor'] ?? '';
    $photosCount = $data['photosCount'] ?? 0;
    $status = $data['status'] ?? 'pending';
    if (empty($title)) {
        echo json_encode(['error' => 'Название обязательно']);
        exit;
    }
    $stmt = $mysql->prepare("INSERT INTO tasks (title, description, executor, photos_count, status) VALUES (?, ?, ?, ?, ?)");
    if (!$stmt) {
        echo json_encode(['error' => 'Ошибка подготовки запроса: ' . $mysql->error]);
        exit;
    }
    $stmt->execute([$title, $description, $executor, $photosCount, $status]);
    echo json_encode(['success' => true, 'id' => $mysql->insert_id]);
    exit;
} elseif ($method === 'PUT' && $action === 'update') {
    // Обновление статуса задачи
    $data = json_decode(file_get_contents('php://input'), true);
    $id = $data['id'] ?? null;
    $status = $data['status'] ?? '';
    if (!$id || !$status) {
        echo json_encode(['error' => 'Некорректные данные']);
        exit;
    }
    $stmt = $mysql->prepare("UPDATE tasks SET status = ? WHERE id = ?");
    if (!$stmt) {
        echo json_encode(['error' => 'Ошибка подготовки запроса: ' . $mysql->error]);
        exit;
    }
    $stmt->execute([$status, $id]);
    echo json_encode(['success' => true]);
    exit;
} elseif ($method === 'DELETE' && $action === 'delete') {
    // Удаление задачи
    parse_str(file_get_contents('php://input'), $data);
    $id = $data['id'] ?? null;
    if (!$id) {
        echo json_encode(['error' => 'ID задачи не указан']);
        exit;
    }
    $stmt = $mysql->prepare("DELETE FROM tasks WHERE id = ?");
    if (!$stmt) {
        echo json_encode(['error' => 'Ошибка подготовки запроса: ' . $mysql->error]);
        exit;
    }
    $stmt->execute([$id]);
    echo json_encode(['success' => true]);
    exit;
} elseif ($method === 'GET' && $action === 'get_users') {
    // Получение списка пользователей
    $result = $mysql->query("SELECT id, login, name FROM users");
    if (!$result) {
        die(json_encode(['error' => 'Ошибка запроса: ' . $mysql->error]));
    }
    $users = [];
    while ($row = $result->fetch_assoc()) {
        $users[] = $row;
    }
    echo json_encode($users);
    exit;
}

echo json_encode(['error' => 'Неизвестное действие']);
?>

Возможные причины проблемы и рекомендации

  • Проверьте, что база данных task_app существует и в ней есть таблица users с колонками id, login, name.
  • Убедитесь, что используется правильный пользователь БД (root с пустым паролем для localhost).
  • Включите отображение ошибок временно (уберите error_reporting(0)) для детального вывода.
  • Проверьте, что расширение mysqli активно в PHP.