Mysql
 sql >> Base de données >  >> RDS >> Mysql

J'ai besoin de ma page PHP pour afficher mon image BLOB à partir de la base de données mysql

Dans votre cas actuel, vous avez deux options initiales.

La première, et celle que je ne recommande pas si vous avez de nombreuses images comme celle-ci, consiste à utiliser l'encodage base64 en ligne. Cela se fait avec :

<img src="data:image/jpeg;base64,<?php echo base64_encode($image); ?>" />

Une version copier/coller, utilisant votre code existant :

echo '<dt><strong>Technician Image:</strong></dt><dd>'
     . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
     . '</dd>';

La deuxième méthode consiste à créer un fichier PHP "image" qui prend l'ID de l'image dans la base de données comme paramètre de chaîne de requête et génère l'image. Ainsi, votre code HTML ressemblerait à :

<img src="image.php?id=<?php echo $image_id; ?>" />

Et votre page PHP ressemblerait à quelque chose de similaire :

<?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;
?>