php - subir - Cómo recuperar imágenes de la base de datos MySQL y mostrarlas en una etiqueta html
mostrar imagenes guardadas en base de datos php (5)
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);
?>
<img src="<?=$row[0]?>" width="175" height="200" />
<?
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):
<body>
<?php
$link = mysql_connect("localhost", "root", "");
mysql_select_db("dvddb");
$sql = "SELECT dvdimage FROM dvd WHERE id=1";
$result = mysql_query("$sql");
mysql_close($link);
?>
<img src="" width="175" height="200" />
</body>
¿Cómo puedo obtener el resultado $ variable de PHP en el HTML para que pueda mostrarlo en la etiqueta <img>
?
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'' />";
}
No puedes. Necesita crear otra secuencia de comandos php para devolver los datos de la imagen, por ejemplo, getImage.php. Cambie catalog.php a:
<body>
<img src="getImage.php?id=1" width="175" height="200" />
</body>
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 .
<img src="data:image/jpeg;base64,<?php echo base64_encode( $image_data ); ?>" />
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 .
agregar $row = mysql_fetch_object($result);
después de tu mysql_query ();
su html <img src="<?php echo $row->dvdimage; ?>" width="175" height="200" />