Cómo recuperar imágenes de la base de datos MySQL y mostrarlas en una etiqueta html

Creé una base de datos MySQL con una tabla usando phpmyadmin. Creé esta tabla con una columna BLOB para contener un archivo jpeg.

Tengo problemas con respecto al $result php variable aquí.

Mi código hasta ahora: (catalog.php):

     

¿Cómo puedo obtener el resultado $ variable de PHP en el HTML para que pueda mostrarlo en la etiqueta ?

No puedes. Necesita crear otra secuencia de comandos php para devolver los datos de la imagen, por ejemplo, getImage.php. Cambie catalog.php a:

    

Entonces getImage.php es

 < ?php $id = $_GET['id']; // do some validation here to ensure id is safe $link = mysql_connect("localhost", "root", ""); mysql_select_db("dvddb"); $sql = "SELECT dvdimage FROM dvd WHERE id=$id"; $result = mysql_query("$sql"); $row = mysql_fetch_assoc($result); mysql_close($link); header("Content-type: image/jpeg"); echo $row['dvdimage']; ?> 

Técnicamente, también puede poner datos de imagen en una etiqueta img, utilizando URI de datos .

  

Hay algunas circunstancias especiales en las que esto podría ser útil, aunque en la mayoría de los casos es mejor que saque la imagen a través de un script separado, como sugiere daiscog .

Necesita recuperar y diseccionar la información en lo que necesita.

 while($row = mysql_fetch_array($result)) { echo "img src='",$row['filename'],"' width='175' height='200' />"; } 

En primer lugar, debe buscar la fila resultante del conjunto de resultados de la consulta. Para eso puedes usar mysql_fetch_row . Ahora que tiene la fila recuperada, puede acceder al valor recuperado y repetirlo en el src.

Por ejemplo:

 $sql = "SELECT dvdimage FROM dvd WHERE id=1"; $result = mysql_query($sql); $row = mysql_fetch_row($result); ?>  < ? 

agregar $row = mysql_fetch_object($result); después de tu mysql_query ();

su html