我无法从我的数据库中检索图像

时间:2012-10-17 15:21:22

标签: php sql database image

我有一个包含电影名称,他们的描述和封面图片的数据库。封面图片字段类型为blob,问题是我无法从数据库中检索它。我想在旁边的封面图片上显示电影名称......怎么做..这是我的代码..

<?php

include ("php/connection.php");
$ID = $_GET['id'];
$listmovies = "SELECT * FROM movies where Genres LIKE '%$ID%'";
$result = mysql_query($listmovies);
while ( $row = mysql_fetch_assoc($result) ) {
    ?>
<table border="1" width="100%">
    <tr>
        <td rowspan="2" width="90" height="120">
<?php

    // set the header for the image
    header("Content-type: image/jpeg");
    echo $row['Image'];

    ?> </td>
        <td width="200" height="10">
<?php

    echo $row['Title'];
    ?></td>
    </tr>
    <tr>
        <td width="200" height="110"><a
            href="php/moredetails.php?id=<?php echo $row['ID']; ?>">More Detail</a></td>
    </tr>
<?php } ?> </table>

我只是想在电影的标题旁边显示The Imgaes?

2 个答案:

答案 0 :(得分:2)

是的,它不会显示,因为any output above header would always generate error ...您需要使用其他页面输出图片或包含base64图片

删除

header("Content-type: image/jpeg");
echo $row['Image'];

并添加:

printf("<img src=\"data:image/jpeg;base64,%s\" />",base64_encode($row['Image']));  
                               ^--- Note this is only for jpeg images

答案 1 :(得分:0)

我建议这样的事情:

创建一个名为image.php的新php文件;该文件将替换物理图像文件。 在该文件中,您将来自帖子的代码加上一些逻辑来从数据库中获取图像数据;

在父模板(也许是php文件)中,您可以为图像添加代码:

<img src="image.php?id_movie=<?php echo $id_movie; ?>" width ="200" height="200" /> More Detail

在image.php中,我建议在php标签之外的空间(在beniging和结尾处)小心。 另外,对于image.php,您需要提供电影的ID以了解要从数据库加载的图像。