Con ese @ delante de funciones nunca veras un posible mensaje de error que tengas. A lo sumo veras tu mensaje "personalizado" que ahí tienen en el condicional "or ..die()" que usa. Si tienes problemas con la ejecución de código en general .. NO uses en este puto de "desarrollo" de tus aplicaciones ese @.
Si dices no ver mensajes de error .. tal vez la sentencia SQL y su conexión implicada esté todo bien .. pero es probable que tengas problemas al acceder al dato:
Código PHP:
echo "<pre>";
print_r($agenda);
echo "</pre>";
Ejecuta eso tras tu asignación de $agenda y observa que obtienes.
Un saludo,