2017-03-01 1 views
0

Ich habe eine MySQL-Datenbank mit darin gespeicherten Text- und Bildinformationen (Blob). Ich möchte alle diese Informationen in einer Seite mit einem PHP-Skript zeigen, mein Problem ist, dass nicht alle eingefügten Daten Bild enthält, also ... wenn das PHP-Skript ausgeführt wird und ein Bild in der Datenbank gespeichert ist, wird es korrekt angezeigt, aber wenn kein Bild gespeichert es zeigt ein gebrochenes Bildsymbol im Browser ... Wie kann ich das lösen, damit die Bilder angezeigt werden, wenn sie in der Datenbank vorhanden sind und das gebrochene Bildsymbol vermeiden, wenn nicht?gebrochenes Bildsymbol (PHP-Skript)

Mein Code ist folgende:

echo '<body bgcolor="#ffffff">'; 
echo "<p style='color:white;background-color:blue;font-family:arial black;font-size:20;text-align:center'>". $row['title'] . "</p>"; 
echo '<center><img src="data:image/jpeg;base64,'.base64_encode($row['image']).'" width="300" eight="300"/></center>'; 
echo "<br>"; 
echo "<br><br>"; 
echo '<font size="3"><b><i>POR:' . $row['author'] . '</font></i></b><br>'; 
echo '<font size="3"><b><i>DATA: ' . $row['date'] . '</font></i></b><br><br>'; 
echo '<font size="3">' . $row['text'] . '</font><br>'; 
echo "<hr><hr>"; 

Antwort

0

Überprüfung Versuchen Sie, ob es etwas in der Bildzeile mit einem einfachen ist, wenn.

echo '<body bgcolor="#ffffff">'; 
echo "<p style='color:white;background-color:blue;font-family:arial black;font-size:20;text-align:center'>". $row['title'] . "</p>"; 
if($row['image']) { 
    echo '<center><img src="data:image/jpeg;base64,'.base64_encode($row['image']).'" width="300" eight="300"/></center>'; 
} 
echo "<br>"; 
echo "<br><br>"; 
echo '<font size="3"><b><i>POR:' . $row['author'] . '</font></i></b><br>'; 
echo '<font size="3"><b><i>DATA: ' . $row['date'] . '</font></i></b><br><br>'; 
echo '<font size="3">' . $row['text'] . '</font><br>'; 
echo "<hr><hr>"; 
+0

dies funktioniert $row['image'] angegeben! Vielen Dank! – Vladimir

0

Versuchen Sie folgendes:

if($row['image'] != '') 
{ 
    echo '<center><img src="data:image/jpeg;base64,'.base64_encode($row['image']).'" width="300" eight="300"/></center>'; 
} 
else 
{ 
    // show some text or a default "No image found" 
} 

Erläuterung: Bild anzeigen nur, wenn einige Bilder in der Datenbank vorhanden ist.

0

Alles, was Sie tun müssen, ist ein if statement hinzufügen, würde etwas wie unten funktionieren.

if(isset($row['image'])) 
{ 
    echo '<center><img src="data:image/jpeg;base64,'.base64_encode($row['image']).'" width="300" eight="300"/></center>'; 
} 

Dies wird nur das Echo angezeigt werden, wenn es ein Bild ist, wie durch die Variable

+0

Dies funktioniert nicht, da das SQL-Ergebnis das Array vollständig auffüllt und der Bildindex existiert, obwohl kein Bild gespeichert wurde. – JensV

Verwandte Themen