Seguramente no estas seleccionando la DB... el codigo entero seria:
Código PHP:
$dbh=@mysql_connect ("localhost", "usuario", "password") or die("error en la DB");
@mysql_select_db ("nombre_DB") or die("La Base de Datos seleccionada no existe");
// cambiamos el estado de activacion despues de 45 dias
if ($activo == "1" ){
$grabar = mysql_query("UPDATE `publicaciones` SET `activar`= '0' WHERE `fecha_v` <= '$fecha'") or die(mysql_error());
}
Tenes que cambiar los datos "usuario", "password" y "nombre_DB" por los que correspondan...