hai ragione

NOn mi da nessun errore semplicemente non mi tira fuori i record....penso di aver capito il problema....io faccio un confronto fra i mesi ma in realtà la data di fine può avere lo stesso mese ma non l'anno...per esempio se il campo datainizio contiene "2011-07-21" e il campo datafine contiene "2012-07-12" facendo il confronto come lo faccio io non me lo tirerà fuori mai...
Quindi dovrei fare un confronto tra le date intere...H oprovato così ma non tira fuori nulla lo stesso..

$oggi = date('Y-m-d');
$query_news = "SELECT * from ita_campagnepubb where idsezione =1 and abilitato = 'Si' and (datainizio <= ".$oggi." and datafine >= ".$oggi.") order by rand() desc limit 4";

order by rand() è semplicemente per tirare fuori i record casualmente (sono delle pubblicità quindi era per non farli apparire sempre nello stesso ordine)