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

[GELOEST] PHP Bild aus Datenbank ausgeben

Runshak

Mitglied
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
 
Werbung:
Tippfehler...

foerdert aber leider nur eine weitere Fehlermeldung zu Tage:

Notice: Undefined index: ImgData in C:\wamp64\www\xxx.php on line 152
 
@Runshak
Kuck dir mal die Zeile an
Code:
  echo'<img src="data:image;base64,'.$rows['ImgData'].'">';

und die
Code:
   while ($row=mysqli_fetch_array($query))

Dann solltest du den Fehler finden.
Tipp ( row(s) )
 
Werbung:
@basti1012
Siehe Posting #2 :frown:

Mir stellt sich eher die Frage, was Bilder in der DB zu suchen haben.
 
Werbung:
Wie muesste denn dann der Code aussehen, wenn ich das Bild in einem Ordner ablege und in der Datenbank den Pfad speicher?
 
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:
Zurück
Oben