2011-12-11 103 views
-1

我想從MySQL數據庫顯示圖像的PHP。我使用以下代碼:我想顯示圖像在PHP數據庫中存儲的作爲blob類型

$last_id = mysql_insert_id(); 
      echo "Image Uploaded. <p /> Your image <p /> <img src=get.php?id=$last_id>"; 
<?php 
mysql_connect("localhost","root","") or die(mysql_error()); 

mysql_select_db("image") or die(mysql_error()); 

$id = $_REQUEST['id']; 

$result = mysql_query("SELECT * FROM image WHERE id = $id"); 

$image = $result['image']; 

header("Content-type: image/jpeg"); 
echo $image; 
?> 
+0

您在**之前提出了兩次**這個問題,其中一個已經關閉。我甚至評論過你以前的問題,說你以前曾問過一次。多次轉貼不會讓你到任何地方。 – Bojangles

+0

@JamWaffles:其實,這些問題都是問如何將圖像存儲在數據庫中。這是要求如何*從數據庫中檢索和顯示圖像。儘管如此,這仍然是一個非常糟糕的問題。 – animuson

+0

@animuson你確實是對的。無論哪種方式,他以前的問題都被問了兩次,這個問題非常相似。最重要的是,sabbir不可能以任何方式爲這個社區做出貢獻,除非發佈很差的問題。 – Bojangles

回答

3

首先,Don't use mysql_* functions in new code。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial


試試這個:

<?php 
$db=mysql_connect("localhost","root","") or die(mysql_error()); 
mysql_select_db("image",$db) or die(mysql_error()); 

$id = (int)$_REQUEST['id']; 

$result = mysql_query("SELECT * FROM image WHERE id=$id",$db); 
if(mysql_numrows($result)>=1){ 
    $row = mysql_fetch_assoc($result); 
    header("Content-type: image/jpeg"); 
    echo $row['image']; 
} 
?> 

echo "Image Uploaded. <p /> Your image <p /> <img src=get.php?id=$last_id>"; 

是無效的HTML。

echo 'Image Uploaded. <p> Your image </p> <img src="get.php?id='.$last_id.'" />'; 
+0

先生,請告訴我,我應該在「header(」Content-type:image/jpeg「);」聲明爲pdf或其他文件格式... – sabbir

+1

'header('Content-type:application/pdf' );'。在http://php.net/manual/en/function.header.php查看示例 – Cyclonecode

相關問題