Можно в режиме телепата гадать 100500 раз о том что происходит.
По факту вопрос слишком абстрактный, научитесь дебажить код.
Идеально было бы поставить xdebug и ide которая умеет с ним работать, но на крайний случай вас спасут print_r и var_dump.
Прямо с начала, берете, и для каждой строчки по очереди проверяете - те ли данные вам пришли, что вы ожидали, те ли строки сформировались что вы ожидали, итд.
это собственно и есть - работа программиста.
По теме вопроса: раз echo ничего не выводит - значит там ничего нет, магии не бывает.
(и кстати опять же в режиме телепата - у вас скорее всего выключен вывод нотисов)
Причин почему там ничего нет - может быть море:
- curl_exec($curl) может вернуть не строку, а false, и в функции curl_error($curl) будет текст ошибки.
- curl_exec может вернуть строку в которой нет json
- curl_exec может вернуть строку в которой есть json, но в нем структура какая-то не такая как вы ожидаете (например ошибка или еще что-то)
Повторюсь, магии не бывает. Если что-то не работает, нужно идти по шагам и дебажить дебажить дебажить.