Неправильно работает скрипт, что я делаю не так?
Проблем у тебя две
1. Ты используешь mysqli, а должен использовать PDO 
2. Самая главная проблема - ты не читаешь описание функции в документации. За это в хороших местах бьют линейкой по пальцам. То есть вот ты сам себе выдумываешь назначение функции, втюхиваешь ее себе в код, а потом удивляешься, почему ничего не работает! Ну так естественно, что не работает - и не должно. 
В общем, так как ты хочешь, работает в PDO функция fetchAll(). Поэтому быстро переходишь на PDO. Как соединяться написано здесь, а код переписываешь так:$data = $db->query('SELECT * FROM news');
foreach($data as $res){
Прислушайся к совету сверху, а чтобы было ясно в чём твоя проблема$query = mysqli_query($db,'SELECT * FROM news');  

  while($result = mysqli_fetch_assoc($query)){
     echo "<div class='content-header'>";
     ...
  }