2017-03-01 2 views
0

テキストとイメージ(BLOB)情報が格納されたmysqlデータベースがあります。私はこの情報をPHPスクリプトを使ってページに表示したいのですが、私の問題は挿入されたすべてのデータにイメージが含まれているわけではないので、PHPスクリプトが実行されたときにデータベースに格納されたイメージが正しく表示されます画像が保存されていないと、ブラウザ上に壊れた画像シンボルが表示されます...データベースに存在する画像が表示され、存在しないときに画像シンボルが壊れないようにするにはどうすれば解決できますか?壊れたイメージのシンボル(PHPスクリプト)

私のコードは次のとおりです:

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

答えて

0

あれば簡単なの画像行に何があるかどうかをチェックしてみます。

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

で指定された画像がある場合にのみ、エコーが表示されます!ありがとう! – Vladimir

0

このお試しください:

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" 
} 

説明:表示する画像いくつかの画像がデータベースに存在しているだけ。

0

あなたがしなければならないことは、if statementを追加することです。以下のようなものが動作します。

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

これは働いていた$row['image']変数

+0

これは動作しませんSQL結果は配列が完全に移入され、イメージが保存されていなくてもイメージインデックスが存在します。 – JensV

関連する問題