Это мой 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;
?>
Когда я смотрю на код HTML в Firebug
, Я могу видеть
<img src="image.php?id=9">
Но изображение не отображается в строке таблицы. Вы знаете, как узнать, что не так?
Когда я открываю страницу ...image.php?id=9
в Firefox
Показывает сообщение
Изображение … image.php? Id = 9 не может быть
отображается, потому что содержит ошибки.
Странно, что в каждом моем изображении есть ошибка. Я вставил только изображения с
размер меньше объекта блоба.
вы получаете ошибку?
попробуйте использовать «выход»; после эха и удалите закрывающий тег php.
это необязательно, и вам это не нужно (http://php.net/manual/en/language.basic-syntax.instruction-separation.php).
header('Content-Type: image/jpeg');
echo $image;
exit;
Других решений пока нет …