2013-10-04 16 views
-1

上午php新手,我試圖從mysql數據庫輸出數據到頁面。文本和數字正確打印在頁面上,但圖像並不是我看到的是��� �������� �w� ��|�PF��0100�V����h � I。任何人都可以告訴我如何使用PHP將圖像輸出到頁面上。下面顯示圖像從一個頁面上使用php mysql imageblob字段使用php

的代碼是我使用

<?php 

    $username = "egesachi_baby"; 
    $password = "babyclass" ; 
    $database = "egesachi_babyclass"; 
    $server = "localhost"; 

    $db_handle = mysql_connect($server,$username,$password); 
    $db_found = mysql_select_db($database)or die ("cannot connect"); 

    if ($db_found) { 
     $sql = "SELECT * FROM baby"; 
     $result= mysql_query($sql); 

     while($db_field = mysql_fetch_assoc($result)) { 
      echo $db_field['NO']."<br>"; 
      echo $db_field['Name']."<br>"; 
      echo $db_field['Age']."<br>"; 
      echo $db_field['photo']."<br>"; 
     } 

     mysql_close($db_handle); 
    } 
    else { 
     print "database not found"; 
     mysql_close($db_handle); 
    }    
?> 
+0

您是如何將圖像存儲在數據庫中的?用base64編碼? –

+0

你將不得不使用這個叫做HTML的東西。 – tomahaug

回答

0

取決於$db_field['photo']內容。

如果是base64編碼的數據,這樣的事情(如果它是一個JPEG):

echo '<img src="data:image/jpeg;base64,' . $db_field['photo'] . '" />'; 

但是這一切都是歸結到什麼$db_field['photo']包含。你能給我們一個輸出樣本嗎?

+0

$ db_field ['photo']是一個mediumblob,它包含jpeg圖像 – BDmwangi

+0

您提供的代碼仍然不起作用。$ db_field ['photo']是一個mediumblob,它包含jpeg圖像 – BDmwangi

+0

那麼,mediumblob只是一個數據庫類型,並沒有說明如何存儲圖像數據。是存儲爲base64,二進制等?你說它包含「jpeg圖像」,但是以什麼格式(base64,二進制等 - 不是數據庫格式)是JPEG存儲的? – tomahaug

1

你需要base64_encode你的圖像數據,並知道圖像類型(gif,png或其他)。

<img src="data:image/gif;base64,<?php echo base64_encode($db_field['photo'])?>"/> 
+0

仍然無法正常工作。圖像是jpeg,並以mediumblob存儲。 – BDmwangi