Para mostrar un BLOB no tenes que hacer eso, lo que tenes que hacer es mostrar una imagen (<img>) y en el atributo SRC poner la direccion a un archivo PHP que muestre el resultado en formato binario, si no estas generando conflictos: mostrando HTML y Binario en un mismo fichero.
No puedo mostrarte todo lo que hice, pero en resumen seria algo asi:
Código HTML:
<img style="margin-bottom:10px;" src="includes/mostrarimagen.php?id=<?php echo $noticia->getId(); ?>" />
y el archivo mostrarimagen.php seria algo asi:
Código PHP:
<?php
if(isset($_GET["id"])){
require_once("../includes/conexion.php");
require_once("../clases/imagen/imagen.php");
$imagen = new Imagen();
$id = mysql_real_escape_string($_GET["id"]);
$imagen->getImagenPorNoticia($id);
header("Content-Type: ".$imagen->getTipo());
echo $imagen->getContenido();
mysql_close($conexion);
}
?>
Osea, repito, no te fijes en lo que programe que no viene al caso, si no que la imagen la mostras como un <img> y el archivo PHP que tenga contenido binario lo tenes que gacer aparte, poner el header correspondiente y solo imprimir el contenido del BLOB (echo $imagen->getContenido() muestra el contenido de la foto, osea todo lo binario).
Ojala te haya servido.
Saludos.