Cómo mostrar todas las imágenes almacenadas dentro de una base de datos

Estoy haciendo una galería que usa una base de datos MySQL (sí, sé que es una mala práctica, pero es el requisito por el momento). Puedo cargar varias imágenes, pero tengo problemas para mostrar todas las imágenes almacenadas en la base de datos. El FORMULARIO permite subir cinco imágenes. Luego, el usuario debe pasar a otra página donde se mostrarán todas las imágenes de la base de datos (incluidas las que se cargaron recientemente) junto con la descripción de las imágenes. Ya tengo el código pero el que funcionará en la pantalla no funciona o creo que está mal.

Aquí está el código del formulario:

   Upload <a href="https://html.dokry.com/html/image" title="Topics of image" target="_blank">image</a>   
All forms must be filled.
File:





Aquí está el script que subiría:

  <?php //connect to the database// $con = mysql_connect("localhost","root", ""); if(!$con) { die('Could not connect to the database:' . mysql_error()); echo "ERROR IN CONNECTION"; } $sel = mysql_select_db("imagedatabase"); if(!$sel) { die('Could not connect to the database:' . mysql_error()); echo "ERROR IN CONNECTION"; } //file properties// $file = $_FILES['image']['tmp_name']; echo '
'; /*if(!isset($file)) echo "Please select your images"; else { */for($count = 0; $count < count($_FILES['image']); $count++) { //$image = file_get_contents($_FILES['image']['tmp_name']); $image_desc[$count] = addslashes($_POST['imageDescription'][$count]); $image_name[$count] = addslashes($_FILES['image]']['name'][$count]); echo '
'; $image_size[$count] = @getimagesize($_FILES['image']['tmp_name'][$count]); $error[$count] = $_FILES['image']['error'][$count]; if($image_size[$count] === FALSE || ($image_size[$count]) == 0) echo "That's not an image"; else { // Temporary file name stored on the server $tmpName[$count] = $_FILES['image']['tmp_name'][$count]; // Read the file $fp[$count] = fopen($tmpName[$count], 'r'); $data[$count] = fread($fp[$count], filesize($tmpName[$count])); $data[$count] = addslashes($data[$count]); fclose($fp[$count]); // Create the query and insert // into our database. $results = mysql_query("INSERT INTO images( description, image) VALUES ('$image_desc[$count]','$data[$count]')", $con); if(!$results) echo "Problem uploding the image. Please check your database"; //else //{ echo ""; //$last_id = mysql_insert_id(); //echo "Image Uploaded.

"; //header('Lcation: display2.php?id=$last_id'); } //} } mysql_close($con); header('Location: fGallery.php'); ?>

Y finalmente, el que debería mostrar:

     

Su ayuda es muy apreciada. Lo necesito mucho para seguir adelante.

Por lo que entiendo de su publicación es que subir y almacenar no es un problema, pero sí lo es mostrar las imágenes. Probablemente sea porque estás usando vars que no están configurados, por lo que no se encuentran resultados en la base de datos. Si no entendí, házmelo saber.

  

También mira lo que dice el Prof83. Ignora mi publicación si tu script funciona con solo una imagen.

Por último, pero no menos importante, si usa diferentes tipos de archivos, también repite el formato MIME correcto en el encabezado.

La actualización I combinó ambas respuestas.

Edite su ciclo:

 '; } ?> 

Crear un nombre de página img.php

  

Ok, no puedes mostrar varias imágenes dentro de una página de imagen / jpeg …

Le está diciendo al navegador que la página es image / jpeg (en otras palabras, la página es UNA IMAGEN) pero está haciendo eco de múltiples datos de imagen

Deberías usar la página de la galería para mostrar todas las imágenes de esta manera:

 '; ?> 

y en img.php:

 // Load the image data for id in $_GET['id']; header("Content-type: image/jpeg"); echo $data;