hola, tengo un ejemplo, similar al tuyo, solo que yo no subo la imagen a la base de datos, Guardo los nombres en la base de datos, y es por medio de <img src="<?php echo $nombre_imagen_db.".jpg" ?>" width="300" height="129" /> que muestro las imagenes.
Código PHP:
<?PHP
////////////////////////////////////// imagen ///////////////////////////////////////////
echo $_FILES['archivo']['name'] ;//contiene el nombre original del archivo
echo $_FILES['archivo']['size']; //contiene el tamaño en bytes de éste
echo $_FILES['archivo']['type'];// tipo de archivo
if ($_FILES['archivo']['name'] != "" && $_FILES['archivo']['size'] != 0)
{
echo "Nombre: $archivo_name <BR>"; // nombre original del archivo
echo "Tamaño: $archivo_size <BR>"; // Tamaño en bytes del archivo
echo "Tipo: $archivo_type <BR>"; // tipo de archivo
// $directorio="../../practicas";
//$directorio="";
$viejo=$_FILES['archivo']['name'];
$nuevo='IMAGEN.jpg'; // este es el nombre con el cual nombraras tu imagen, debe coincidir con uno que ya tengas registrado en tu base de datos. O incluir una caja de texto, y guardar ese nombre en la base de datos y pasar como parametro $nuevo= $_POST['nombre de la imagen'];
// Movemos el archivo subido, en la carpeta imagenes, con el nombre de la variable $nuevo
$sepudo=move_uploaded_file ($_FILES['archivo']['tmp_name'], "imagenes/".$nuevo);
echo "<BR>";
if ($sepudo)
{
echo " si se cambio el nombre";
}
else
{
echo "No se cambio el nombre";
}
}
/////////////////////////////// formulario ////////////////////////////////////////////////
?>
<FORM ENCTYPE="multipart/form-data" ACTION="imagen.php" METHOD="post">
<INPUT type="hidden" name="MAX_FILE_SIZE" value="10000000">
<label for="nombreimagen">Inserta el nombre de la imagen</label>
<input type="text" name="nombreimagen" id="nombreimagen" />
<p><b>Archivo a descargar<b><br>
<INPUT type="file" name="archivo" size="35"></p>
<p><INPUT type="submit" name="enviar" value="Aceptar"></p>
</FORM>
ahi lo que tienes que hacer es poner el formulario en una pagina por ejemplo formulario.php y la seccion de guaradar imagen en imagen.php e iniciar esta con <?PHP
$nuevo= $_POST['nombre de la imagen'];
echo $_FILES['archivo']['name'] ;//contiene el nombre original del archivo
echo $_FILES['archivo']['size']; //contiene el tamaño en bytes de éste
echo $_FILES['archivo']['type'];// tipo de archivo
solo te falta agregar en esta pagina tu conexion a la base de datos y guardar el nombre de la imagen ( vas a guaradar insert tabla_db campo_DB value ' $nuevo'
etc...
?>