【问题标题】:I can't retrieve Image from my database我无法从我的数据库中检索图像
【发布时间】:2012-10-07 21:51:38
【问题描述】:

我有一个包含电影名称、描述和封面图片的数据库。封面图片字段类型为 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?

【问题讨论】:

标签: php sql database image


【解决方案1】:

是的,它不会显示,因为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

【讨论】:

  • 为什么你用"foo\"foo\""而不是'foo"foo"'
【解决方案2】:

我建议这样:

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

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

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

在 image.php 中,我建议小心 php 标记之外的空格(在开头和结尾处)。 同样对于 image.php,您需要提供电影的 id 以了解要从数据库加载的图像。

【讨论】:

    猜你喜欢
    • 2014-07-20
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    相关资源
    最近更新 更多