[GELOEST] PHP Bild aus Datenbank ausgeben

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Runshak

Mitglied
7 April 2020
57
2
8
31
Hallo,

ich habe eine Tabelle, in welcher ich gerne Produkte aus einer SQL Datenbank ausgeben moechte. Soweit klappt das auch wunderbar, nur Die Ausgabe der Produktbilder funktioniert nicht wie gewuenscht.


PHP:
<table>
    <tr>
        <th>ID</th>
        <th>Product Name</th>
        <th>IMG</th>
        <th>Product Number</th>
        <th>Price in RMB</th>
        <th></th>
    </tr>
        <?php
   
        $sql="SELECT * FROM product ORDER BY pname ASC";
        $query=mysqli_query($conn, $sql);
       
        while ($row=mysqli_fetch_array($query))
        {
            ?>
                <tr>
                    <td> <?php echo $row ['id'] ?> </td>
                    <td> <?php echo $row ['PName'] ?> </td>
                    <td>
                    <?php
                            echo'<img src="data:image;base64,'.$rows['ImgData'].'">';  --> Line 152
                    ?>
                    </td>
                    <td> <?php echo $row ['PNummer'] ?> </td>
                    <td> <?php echo $row ['PPreis'] ?> RMB </td>
                    <td> <a class="AddToCart"; href="Warehouse.php?page=warenkorb&action=add&id=<?php echo $row['id']?>"> Add to Cart </a></td>
                </tr>
   
            <?php
        }

        ?>
</table>


Beim Ausfuehren bekomme ich folgende Fehlermeldung:

Notice: Undefined variable: rows in C:\wamp64\www\xxx.php on line 152 (im Code markiert)


Die Ausgabe der anderen Werte aus der Datenbank funktionieren und werden angezeigt.

Die Datenbank hat 6 Spalten:

1. id mit Autoinkrement Primaerschluessel und vom typ int
2. PName varchar (200)
3. ImgData vom Typ longblob
4. ImgType vom Typ varchar (50)
5. PNummer vom Typ varchar (200)
6. PPreis vom Typ decimal (10,0)

Wenn die Seite geoeffnet ist, wird die Fehlermeldung angezeigt und darunter das Symbol, dass da ein Bild nicht geladen werden konnte. Bei Bildadresse kopieren bekomme ich
folgenden Pfad:

data:image;base64,

Kann mir jemand helfen, was ich genau falsch mache bzw. was fuer Angaben fehlen, sodass es tut?

Gruesse Runshak
 

Runshak

Mitglied
7 April 2020
57
2
8
31
Tippfehler...

foerdert aber leider nur eine weitere Fehlermeldung zu Tage:

Notice: Undefined index: ImgData in C:\wamp64\www\xxx.php on line 152
 

Sempervivum

Senior HTML'ler
18 Oktober 2016
2.140
427
83
68
Dann kann ich mir den Fehler nicht erklären, denn in deiner Aufzählung der Spalten ist 'ImgData' genau so enthalten.
 

Runshak

Mitglied
7 April 2020
57
2
8
31
Wie muesste denn dann der Code aussehen, wenn ich das Bild in einem Ordner ablege und in der Datenbank den Pfad speicher?
 

Runshak

Mitglied
7 April 2020
57
2
8
31
Okay, habe das ganze hinbekommen. Den Pfad des Bildes in der Datenbank gespeichert und das Bild im Verzeichnis. Jetzt das ganze aufgerufen und es tut....

<td> <?php echo "<img src={$row['ImagePath']}" ?> <br> <?php echo $row ['ImageName'] ?> </td>
 
Zuletzt bearbeitet: