Cita:  
					Iniciado por pateketrueke 
  La variable $db no está al alcance dentro de la función, ese es el principal problema, no estás respetando el contexto de dicha variable.
 
Así que, o declaras dicha variable dentro de la función, o la pasas como argumento, ambas formas deben funcionar.
 
Lee el siguiente manual: [url]http://www.php.net/manual/es/functions.user-defined.php[/url]
    He probado esto, pero sigue fallando:  
 Código PHP:
    function comprobarDia($fecha){
        require_once "../bbdd/conecta.php";
        $db = conectaDb();
        //se obtiene el dia de la emana
        $diasemana = date(l, strtotime($fecha));
        echo $diasemana; echo $fecha;
        
        //si es fin de semana, directamente es no lectivo
        if($diasemana=="Saturday" || $diasemana=="Saturday"){
            $comprueba=" no lectivo ";
            return $comprueba;
            
        //si no es fin de semana, debemos comprobar que no se encuentre en la lista de día de fiesta
        }else{
            $consulta = "SELECT COUNT(*) FROM $dbDb.festivos WHERE dia='$fecha'";
            $result = $db->prepare($consulta);
            $result->execute();
            if($result->fetchColumn()>=1){
                $comprueba="nolectivo";
            }
            else{
                $comprueba="lectivo";
            }
            
            return $comprueba;
        }
        return $comprueba;
    } 
    
  puedes decirme como o donde lo coloco? gracias