0) Проверить лог ошибок или добавить в код выше
ini_set('error_reporting',E_ALL);
ini_set('display_errors', 1);
и убедиться что ошибок выполнения нет. Естественно, подключение должно быть настроено на вывод ошибок. Так же убрать бессмысленный биндинг
$stmt->execute(['id'=>id]);
, где внутри даже не переменная, а какая-то фигня...
1) Проверить запрос в консоли или в phpmyadmin
2) В случае если запрос ничего не выдает - удалить строки
INNER JOIN category ON category.id=post.cat_id
, выполнить запрос
3) Если выдает что-либо, значит таблица с категориями пострадала, проверить выведенные посты на номер категории, и посмотреть что стало с этими записями в таблице category.
4) Если не выводит - повторить пункт 3 со строкой INNER JOIN users ON post.user_id = users.id, со всеми вытекающими.