para una imagen mejor que uses mysql_real_scape_string antes que addslashes
para determinar el tipo de imagen mejor que uses:
Código PHP:
list($width, $height, $type, $attr) = getimagesize($_FILES['imagen']['tmp_name']);
//de aqui tienes que guardar $type en la bd, y aunque no es necesario tambien es bueno guardar attr, que son los atributos de la imagen en html
//un ejemplo de $attr: <img src="ruta" $attr>, attr seria por ej 'width=250 height=300'
Y despues para mostrar la imagen:
Código PHP:
//Las variables utilizadas deben ser rescatadas anteriormente de la BD
header("content-type: ".image_type_to_mime_type($type));
echo stripslashes($img);
PD: Te recomiendo que mejor uses un script para subir la imagen al disco duro en vez de a la BD (yo he probado los dos y es mucho mejor al disco duro) 1º por que la BD siempre hay menos espacio 2º porque este sistema es mas complicado y da mas error 3º vas ha tener problemas si intentas restaurar un backup de la base de datos, pero lo unico que cambia es el script, no el formulario
EDIT: Creo que falla por que no has echo el stripslashes