Vediamo insieme il perchè

// mi connetto a mysql
$connessione = @mysql_connect("localhost", "", "")
or die("Impossibile connettersi con il database!");

// seleziono il database
$db = @mysql_select_db($nome_db, $connessione)
or die("Impossibile selezionare il database!");

// eseguo la query
$sql_str = "SELECT *, DATE_FORMAT(data, '%d.%m.%Y') as data FROM $nome_tbl WHERE data + INTERVAL 3 DAY > NOW() ORDER BY id DESC";
//echo "$sql_str
";
$risultato = @mysql_query($sql_str,$connessione)
or die(mysql_error() . "Impossibile leggere i dati del database!");

La query eseguita ha comunque successo
puoi sapere quanti risultati ha trovato solo

DOPO averla eseguita

quindi a questo punto mettiamo il controllo
e non prima

if (mysql_num_rows($risultato) <= 0)
echo "Attualmente nessun comunicato";


Ciao