我有一个问题,当我试图显示存储在数据库中的图像时,它只显示字符和符号;这是我正在使用的代码:
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;
}
?>