2017-07-08 118 views
3

下面是在我的頁面跳轉到「prac_image_display」顯示圖像的代碼: -如何使用MYSQLi查詢在數據庫中顯示圖像中的圖像?

<?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時,它運行良好,所有圖像都完美地顯示在本地主機上,但是當我用MYSQLi函數替換MYSQL函數時,圖像不顯示。請告訴我在這裏可以做些什麼改變。

+0

需要注意的地方。在你的while循環中,循環內代碼的第三行應該是 – Difster

+1

你在'database.php'中有什麼?直到我們看到,我們不能說出你遇到什麼問題 –

+0

也顯示你的database.php – JYoThI

回答

2

您可以按照以下步驟到DEBUG並找出實際問題。

第1步:更新映像src

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

注:因爲,有一個Blank space

第2步:瀏覽圖像URL在瀏覽器中,像

example.com/prac_img_display.php?id=8 

注:檢查,如果圖像正常顯示在瀏覽器窗口。

IF,不顯示圖像正常

步驟3:檢查header("Content-type: image/jpeg");是正確的。

假設,如果您上傳PNG圖片,這將不起作用。

對於PNG圖像,你應該使用header("Content-type: image/png");

注:也不要忘記DEBUGSQL結果。

相關問題