Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Eu preciso que minha página PHP mostre minha imagem BLOB do banco de dados mysql


No seu caso atual, você tem duas opções iniciais.

A primeira, e a que eu não recomendo se você tiver várias imagens como essa, é usar a codificação base64 inline. Isso é feito com:
<img src="data:image/jpeg;base64,<?php echo base64_encode($image); ?>" />

Uma versão de copiar/colar, usando seu código existente:
echo '<dt><strong>Technician Image:</strong></dt><dd>'
     . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
     . '</dd>';

O segundo método é criar um arquivo PHP "imagem" que recebe o ID da imagem no banco de dados como um parâmetro de string de consulta e gera a imagem. Então, seu HTML seria algo como:
<img src="image.php?id=<?php echo $image_id; ?>" />

E sua página PHP seria algo semelhante a:
<?php
$id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // your code to fetch the image

header('Content-Type: image/jpeg');
echo $image;
?>