【发布时间】:2015-01-05 04:29:08
【问题描述】:
这是我的 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 对象。
【问题讨论】:
-
你能把你用来插入图片的代码发布到博客我用来上传图片到服务器文件夹以便数据库安全快速
-
@sanojlawrence 数据已插入。我可以在
MySQLDB 中看到它。 -
检查此
"SELECT photo FROM employee where id = $employee_id limit 1";并在图像标签<img src="image.php?id=<?php echo $employee['id']; ?>" />中将$employee更改为$employee_id