我无法显示BLOB图像


I can not display BLOB image

我有一个问题,当我试图显示存储在数据库中的图像时,它只显示字符和符号;这是我正在使用的代码:

    if ($pass==$dbpass&&$id== $dbid) {
   $queryimage = mysql_fetch_array(mysql_query("SELECT `images` FROM `attestation` WHERE id='$id' "))[0];
   echo $queryimage;

    @$_SESSION['id']=$id;
    }

你需要告诉浏览器你要向它发送什么样的数据。在HTTP中,这是使用头来完成的:

header('Content-Type: image/png');

这是一个png图像的例子。有关多种类型的列表,请参阅此链接。

还要注意,在向浏览器输出之前,需要先发送任何标头。这意味着PHP标记之外的任何echo和/或任何内容(甚至是空白字符)。

所以你的代码看起来像:

if ($pass==$dbpass&&$id== $dbid) {
    $queryimage = mysql_fetch_array(mysql_query("SELECT `images` FROM `attestation` WHERE id='$id' "))[0];
    header('Content-Type: image/png'); // change this to your actual image type
    echo $queryimage;
    @$_SESSION['id']=$id;
}

这一行在Dreamweaver中被突出显示为错误

$queryimage = mysql_fetch_array(mysql_query("SELECT `images` FROM `attestation` WHERE id='$id' "))[0];

也许是这样的?

<?php
    if ( $pass===$dbpass && $id===$dbid ) {
        $sql="SELECT `images` FROM `attestation` WHERE id='$id'";
        $res=mysql_query( $sql );
        $rs=mysql_fetch_array( $res );
        $queryimage=$rs[0];
        $_SESSION['id']=$id;
        header('Content-Type: image/png'); 
        echo $queryimage;
    }
?>