El problema es que al realizar la consulta a la bbdd dentro de la función me salta el error, no así si la ejecuto directamente en el script, os pongo el ejemplo:
Código PHP:
<?php
$fechasiguiente="2013-12-07";
$consulta2 = "SELECT COUNT(*) FROM $dbDb.festivos WHERE dia='$fechasiguiente'";
$result2 = $db->prepare($consulta2);
$result2->execute();
if($result2->fetchColumn()==0){
echo "no es festivo";
}else{
echo "FIESTA!!";
}
?>
Código PHP:
<?php
//conexion a bbdd
require_once "../bbdd/conecta.php";
$db = conectaDb();
$fechasiguiente="2013-12-04";
// función para comprobar días no lectivos
$probando = comprobarDia($fechasiguiente);
function comprobarDia($fecha){
//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;
}
?>
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\proyecto\php\nolectivos.php on line 39