2011-12-11 79 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

相关问题