he usado tu codigo y la verdad no me funciona siempre me sale como activado nose en que fallo asi es lo que e puesto de codigo:
   Código PHP:
    <?php  
 
$bdconex = @mysql_connect("localhost", "root", ""); 
if (!$bdconex) { 
echo( "<h1>La base de datos no está disponible</h1> " . 
"<p>Por si acaso, comprueba que tienes bien los datos de la dirección, el nombre de usuario y la contraseña.</p>" ); 
exit(); 
}
 if (! @mysql_select_db("iu", $bdconex)){
 echo "<h2 align='center'>ERROR3: Imposible localizar la base de datos en este momento</h2>";
 exit();
 }
 ?> 
<?php
 
$estado = @mysql_query("SELECT mensaje FROM mantenimiento");
 
 switch($estado){
 case "activada": $paginaBloqueda=1; break;
 case "desactivada":$paginaBloqueda=0; break;
}
 
$paginaBloqueda=0; // 0 = pagina normal, 1 = pagina mantenimiento
if($paginaBloqueda){
 include('mantenimiento.php'); // aki estaria la pagina que le dira al usuario que esta en mantenimiento la web
 die(); //die para que no siga cargando el resto
}
//el resto de tu pagina index
 ?>