来自blob对象的图像未显示在页面中

时间:2015-01-04 20:03:02

标签: php mysql image blob

这是我的HTML代码,用于显示存储为blob对象的图像,该图像存储在数据库中。

<tr><td>photo</td><td><img src="image.php?id=<?php echo $employee['id']; ?>" /></td></tr>

这是image.php文件:

<?php

include db.php;

$employee_id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;

try
{ 
  $sql = "SELECT photo
          FROM employee where id = $employee_id limit 1";
  $s = $pdo->prepare($sql);
  $s->execute();
} 
catch (PDOException $e)
{ 
  $error = 'Employee not found' . $e->getMessage();
  include 'error.html.php';
  exit();
} 

$employee = $s->fetch();

$image = $employee['photo'];

header('Content-Type: image/jpeg');
echo $image;

?>

当我查看Firebug中的HTML代码时,我可以看到

<img src="image.php?id=9">

但表格行中没有显示图像。你知道如何找出问题所在吗?

当我在Firefox中打开页面...image.php?id=9时 它显示了一条消息

  

图片... image.php?id = 9不能   显示,因为它包含错误。

奇怪的是,我所拥有的每张图片都包含错误。我只插入了图像 大小小于blob对象。

1 个答案:

答案 0 :(得分:0)

你得到错误吗?

尝试使用“退出”;回声后删除关闭的php标签。 它是可选的,你真的不需要它(http://php.net/manual/en/language.basic-syntax.instruction-separation.php)。

header('Content-Type: image/jpeg');
echo $image;
exit;