Текст ошибки читать не пробовали? Там написано что в mysql_num_rows передана строка, а не ресурс. И даже написано в какой именно строке. В приведенном вами куске кода этот вызов вообще отсутствует.
И вообще, проглатывать ошибки - плохая идея. Уберите собачки, к вызовам базы добавьте отображение ошибок.
mysql_query('SELECT * FROM news') or die(mysql_error());
И да, функции mysql_* устарели, в php7 их вообще выпилили. Пора осваивать PDO или хотябы mysqli.