Как преобразовать обычную строку в текст MySQL?
Только не строка а массив, и не "текст MySQL", а последовательность плейсхолдеров
Сначала explode() а потом https://phpdelusions.net/pdo#in

я так понимаю что тебе трудно будет адаптировтаь под свой вариант, поэтому вот тебе готовый код
$ids = explode(",", $ids);
$in  = str_repeat('?,', count($ids) - 1) . '?';
return $this->db->row("SELECT * FROM cources WHERE id IN ($in)", $ids);
Вариант без placeholder'ов, если $ids массив из INT'ов то можно прогнать каждый элемент через intval() чтобы исключить любого рода инъекции и напрямую подставить в запрос

$ids = array_map('intval', $ids);
return $this->db->row("SELECT * FROM cources WHERE id IN (".join(',', $ids).")");