我有一个问题,当我试图显示存储在数据库中的图像时,它只显示字符和符号;以下是我使用的代码:
if ($pass==$dbpass&&$id== $dbid) {
$queryimage = mysql_fetch_array(mysql_query("SELECT `images` FROM `attestation` WHERE id='$id' "))[0];
echo $queryimage;
@$_SESSION['id']=$id;
}发布于 2016-01-10 05:14:37
你需要告诉浏览器你发送给它的是什么类型的数据。在超文本传输协议中,这是使用headers完成的
header('Content-Type: image/png');这是一个png图像的示例。有关多种类型的列表,请参阅此link。
还要注意,在向浏览器输出任何内容之前,需要发送任何标头。这意味着PHP标记之外的任何回显和/或任何内容(甚至空白字符)。
所以你的代码应该看起来像这样:
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;
}发布于 2016-01-10 19:17:43
此行在Dreamweaver中突出显示为errornous
$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;
}
?>https://stackoverflow.com/questions/34698991
复制相似问题