He hecho un sistema para subir imagenes a la base de datos, y despues de haberlo conseguide resulta que hay errores en las imagenes
 
pongo un ejemplo 
Subi una imagen de muestra de windows 
Esi se ve despues de subirla  
http://img411.imageshack.us/img411/3441/inviernort6.jpg 
Esi es en realidad 
http://img411.imageshack.us/img411/8996/inviernoby0.jpg 
Este sistema esta hacho dentro de un modulo para php-nuke, pero creo que se entiende bien 
Este es un ejemplo del formulario 
 Código PHP:
    function AddImg() {
    $msj = "";
    $msj = $msj."<table width=\"100%\" border=\"0\" cellspacing=\"3\">";
    $msj = $msj."<tr><td nowrap><form method=\"post\" action=\"modules.php?name=Trucos&par=AddingImg\" enctype=\"multipart/form-data\">";
    $msj = $msj."<b>Nombre de la Imagen</b></td><td><input type=\"text\" name=\"title\" size=\"40\" maxlength=\"100\"></td></tr>";
    $msj = $msj."<tr><td nowrap><b>Imagen</b></td><td><input type=\"file\" name=\"imagen\" size=\"40\" maxlength=\"100\"></td></tr>";
    $msj = $msj."<tr><td> </td><td><input type=\"submit\" name=\"submit\" value=\"Agregar\"></td></tr>";
    $msj = $msj."</form></table>";
    NewTable("Añadir Plataforma", $msj, "FINISH");
} 
    
  Este es un ejemplo del script que recibe la imagen 
 Código PHP:
    function AddingImg($title, $imagen) {
    // Comprobar si la imagen existe
    global $db;
    list($width, $height, $type, $attr) = getimagesize($_FILES['imagen']['tmp_name']);
    $check_tittle = $db->sql_query("SELECT * FROM tabla WHERE title='$title'");
    if (sql_num_rows($check_tittle) != 0) {
       NewTable("Error", "La plataforma ya existe", "FINISH");
       exit();
    }
    // Crear variables de la imagen
    if (is_uploaded_file($_FILES['imagen']['tmp_name']) === TRUE)
    {
        $imagen = file_get_contents($_FILES['imagen']['tmp_name']);
        $imagen = mysql_real_escape_string($imagen);
    } else {
        NewTable("Error", "El archivo de imagen no se subio correctamente", "FINISH");
        exit();
    }
    // Enviar informacion a la base de datos
    $title = addslashes(filter($title, "nohtml", 1));
    $type = addslashes($type);
    $attr = addslashes($attr);
    $db->sql_query("INSERT INTO tabla VALUES (NULL,'$title','$imagen','$attr','$type')");
    global $dbi;
    $sql = "SELECT `img`, `imgType` FROM tabla WHERE title='$title'";
    $db_result = sql_query($sql, $dbi);
    $img_id = mysql_insert_id($dbi);
    $msj = "La nueva plataforma se ha agregado a la base de datos satisfactoriamente"
    ."<br><br>Nombre de la plataforma: $title"
    ."<br><br>Imagen: <img src=modules.php?name=Modulo&par=ShowImg&img_id=$img_id $attr";
    NewTable("Completado", $msj, "FINISH");
}
 
function ShowImg($img_id) {
    if ($img_id != NULL) {
        global $dbi;
        $sql = "SELECT `img`, `imgType` FROM tabla WHERE pid='$img_id'";
        $db_result = sql_query($sql, $dbi);
        if (sql_num_rows($db_result) == 0) { 
            include("header.php");
            $msj = "La imagen solicitada no se encuentra en nuestra base de datos!<br><br>";
            NewTable("Error", $msj._ERROR, "FINISH");
            exit(); 
        }
        list($img, $type) = sql_fetch_row($db_result, $dbi);
        if ($img == NULL) echo("La variable de la imagen es nula");
        if ($type == NULL) echo("La variable del tipo de imagen es nula");
        header("content-type: ".image_type_to_mime_type($type));
        echo stripslashes($img);
    }
} 
    
  Nose que es lo que esta mal ahi y ademas no me puedo orientar ya que no da ningun error simplemente se cambian algunas lineas de color