web-dev-qa-db-fra.com

Comment afficher une image de la base de données en utilisant php

J'essaie d'afficher une image provenant de la base de données et je n'ai pas été en mesure d'afficher l'image, mais son affichage est le suivant: user-1.jpg Veuillez voir mon code puis-je savoir comment afficher l'image.

$sqlimage = "SELECT image FROM userdetail where `id` = $id1";
$imageresult1 = mysql_query($sqlimage);

while($rows = mysql_fetch_assoc($imageresult1))
{       
    $image = $rows['image'];    
    print $image;
}
5
Xavi

Afficher une image de MySql Db.

$db = mysqli_connect("localhost","root","","DbName"); 
$sql = "SELECT * FROM products WHERE id = $id";
$sth = $db->query($sql);
$result=mysqli_fetch_array($sth);
echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image'] ).'"/>';
10
Charles

Par exemple, si vous utilisez ce code, vous pouvez charger une image à partir de db (mysql) et l'afficher en php5;)

<?php
   $con =mysql_connect("localhost", "root" , "");
   $sdb= mysql_select_db("my_database",$con);
   $sql = "SELECT * FROM `news` WHERE 1";
   $mq = mysql_query($sql) or die ("not working query");
   $row = mysql_fetch_array($mq) or die("line 44 not working");
   $s=$row['photo'];
   echo $row['photo'];

   echo '<img src="'.$s.'" alt="HTML5 Icon" style="width:128px;height:128px">';
   ?>
2
Yo Ne S

Si vous souhaitez afficher des images de la base de données, vous devez d'abord les insérer dans la base de données, puis afficher cette image à la page . Suivez le code ci-dessous pour afficher, afficher ou récupérer l'image.

Ici, je montre une image et un nom de la base de données.

Remarque: Je ne stocke que le chemin de l'image dans la base de données, mais l'image réelle est stockée dans le dossier photo.

PHP Code complet avec design: show-code.php

   <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, intial-scale=1.0"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<title>Show Image in PHP - Campuslife</title>
<style>
    body{background-color: #f2f2f2; color: #333;}
    .main{box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important; margin-top: 10px;}
    h3{background-color: #4294D1; color: #f7f7f7; padding: 15px; border-radius: 4px; box-shadow: 0 1px 6px rgba(57,73,76,0.35);}
    .img-box{margin-top: 20px;}
    .img-block{float: left; margin-right: 5px; text-align: center;}
    p{margin-top: 0;}
    img{width: 375px; min-height: 250px; margin-bottom: 10px; box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important; border:6px solid #f7f7f7;}
</style>
</head>
    <body>
    <!-------------------Main Content------------------------------>
    <div class="container main">
        <h3>Showing Images from database</h3>
        <div class="img-box">
    <?php
        $Host ="localhost";
        $uname = "root";
        $pwd = '123456';
        $db_name = "master";

        $file_path = 'photo/';
        $result = mysqli_connect($Host,$uname,$pwd) or die("Could not connect to database." .mysqli_error());
        mysqli_select_db($result,$db_name) or die("Could not select the databse." .mysqli_error());
        $image_query = mysqli_query($result,"select img_name,img_path from image_table");
        while($rows = mysqli_fetch_array($image_query))
        {
            $img_name = $rows['img_name'];
            $img_src = $rows['img_path'];
        ?>

        <div class="img-block">
        <img src="<?php echo $img_src; ?>" alt="" title="<?php echo $img_name; ?>" width="300" height="200" class="img-responsive" />
        <p><strong><?php echo $img_name; ?></strong></p>
        </div>

        <?php
        }
    ?>
        </div>
    </div>
    </body>
</body>
</html>

Si vous avez trouvé une erreur, vous pouvez suivre directement le didacticiel que j’ai trouvé où. Vous pouvez voir le tutoriel en direct étape par étape sur ce site.

J'espère que vous aimez ma réponse.

Je vous remercie

https://www.campuslife.co.in/Php/how-to-show-image-from-database-using-php-mysql.php

Sortie

[Affichage des images de la base de données] [1]

https://www.campuslife.co.in/Php/image/show-image1.png

2
MANZAR HUSSAIN
<?php
       $connection =mysql_connect("localhost", "root" , "");
       $sqlimage = "SELECT * FROM userdetail where `id` = '".$id1."'";
      $imageresult1 = mysql_query($sqlimage,$connection);

      while($rows = mysql_fetch_assoc($imageresult1))
    {       
       echo'<img height="300" width="300" src="data:image;base64,'.$rows['image'].'">';
    }
    ?>
0
Lizwi
$sqlimage  = "SELECT image FROM userdetail where `id` = $id1";
    $imageresult1 = mysqli_query($link, $sqlimage);

    while($rows=mysqli_fetch_assoc($imageresult1))
{

    echo "<img src = 'Image/".$row['image'].'" />';


} 
0
Paulo Rodrigues

mettez ce code sur votre page php.

$sql = "SELECT * FROM userdetail";
$result = mysqli_query("connection ", $sql);

while ($row = mysqli_fetch_array($result,MYSQLI_BOTH)) {
    echo "<img src='images/".$row['image']."'>";
    echo "<p>".$row['text']. "</p>";
}

j'espère que c'est du travail.

0
Ali Shahbaz

au lieu de print $image;, vous devriez opter pour print "<img src=<?$image;?>>"

et notez que $ image devrait contenir le chemin de votre image.

Donc, Si vous ne stockez que le nom de votre image dans la base de données, vous devez au lieu de cela stocker le chemin complet de votre image dans la base de données, par exemple /root/user/Documents/image.jpeg.

0
user2656474
<?php
    $conn = mysql_connect ("localhost:3306","root","");
    $db = mysql_select_db ("database_name", $conn);

    if(!$db) {
        echo mysql_error();
    }

    $q = "SELECT image FROM table_name where id=4";
    $r = mysql_query ("$q",$conn);
    if($r) {
         while($row = mysql_fetch_array($r)) {
            header ("Content-type: image/jpeg");       
    echo $row ["image"];
        }
    }else{
        echo mysql_error();
    }
    ?>

sometimes problem may  occures because of port number of mysql server is incoreect to avoid it just write port number with Host name like this "localhost:3306" 
in case if you have installed two mysql servers on same system then write port according to that

in order to display any data from database please make sure following steps
1.proper connection with sql
2.select database
3.write query 
4.write correct table name inside the query
5.and last is traverse through data
0
saurabh

mettez votre $image dans la balise img de html 

essaye ça

echo '<img src="your_path_to_image/'.$image.'" />';

au lieu de 

print $image;

your_path_to_image serait le chemin absolu de votre dossier d’image, par exemple: /home/son/public_html/images/ ou votre structure de dossier sur le serveur.

Mise à jour 2:

si votre image réside dans le même dossier que celui où ce fichier existe
vous pouvez utiliser cette

echo '<img src="'.$image.'" />';
0
Satish Sharma

Vous devez faire cela pour afficher l'image

$sqlimage  = "SELECT image FROM userdetail where `id` = $id1";
$imageresult1 = mysql_query($sqlimage);

while($rows=mysql_fetch_assoc($imageresult1))
{
    $image = $rows['image'];
    echo "<img src='$image' >";
    echo "<br>";
} 

Vous devez utiliser html img tag.

0
Muhammad Raheel

Il suffit de remplacer

print $image;

avec 

 echo '<img src=".$image." >';
0
Mehar