2017-07-08 5 views
3

は私のページには、画像を表示するために「prac_image_display」にジャンプし、そこからコードです: -MYSQLiクエリを使用してデータベースからPHPでイメージを表示するには?以下

<?php 
    session_start(); 
    include("database.php"); 
    $sql = mysqli_query($con,"select * from mst_subject"); 
    echo "<h2><table cellpadding=5>"; 
    while($row = mysqli_fetch_array($sql)){ 
     echo "<tr>"; 
     echo "<td><img height='50' width='50' src='prac_img_display.php? id=".$row['sub_id']."'></td><td><a href=showtest.php?subid={$row['sub_id']}>".$row['sub_name']."</td>"; 
     echo "<tr>"; 
     //$_SESSION['subid']=$row['sub_id']; 
    } 
    echo "</table></h2>"; 
?> 

そして今、以下prac_image_display.phpファイルに書かれたコードである: - 以下

 <?php 

     if(isset($_GET['id'])) 
     { 
     include("database.php"); 
     $sql = "SELECT image FROM mst_subject WHERE 
     sub_id=".$_GET['id'].";"; 
     //$sql = "SELECT image FROM mst_subject WHERE sub_id=8"; 
     $result=mysqli_query($con,"$sql"); 
     header("Content-type: image/jpeg"); 
     echo mysqli_result($result,0); 
     mysqli_close($con); 
    } 
    else 
    { 
      echo 'Please use a real id number'; 
    } 
    ?> 

"database.php"ファイルで書かれたコードです: -

<?php 
    $con=mysqli_connect("localhost","root","","test") or die("could not 
         connect "); 
    //mysql_select_db("test",$con) or die("Could connect to Database"); 
    ?> 

イメージはデータベースにBLOBで保存されます。 上記の両方の.phpファイルでMYSQLを使用すると問題なく、すべての画像がlocalhostに完全に表示されますが、MYSQLi関数をMYSQLi関数に置き換えると画像が表示されません。私がここで何ができるのか教えてください。

+0

注意事項あなたのwhileループでは、ループ内のコードの3行目にあるは、 – Difster

+1

の 'database.php'にありますか?我々はそれを見るまで、あなたは何を得ているのかわからない。 –

+0

あなたのdatabase.phpも示す – JYoThI

答えて

2

DEBUGに以下の手順を実行して、実際の問題がどこにあるかを調べることができます。

ステップ1:Blank spaceがある、ので:あなたのイメージはsrc

src='prac_img_display.php? id=".$row['sub_id']."' 
/*TO*/ 
src='prac_img_display.php?id=".$row['sub_id']."' 

注意を更新します。

ステップ2:

example.com/prac_img_display.php?id=8 

ノートのように、ブラウザで画像URLを見る:チェック、ブラウザウィンドウで、適切であれば、画像の表示。

画像に表示されていない、IFが適切

ステップ3:チェックheader("Content-type: image/jpeg");は正しいです。

PNGイメージをアップロードした場合、これは動作しません。

PNG画像について、あなたはheader("Content-type: image/png");

注意を使用する必要があります。はまたDEBUGSQL結果に忘れてはいけません。

関連する問題