我有一个问题,当我尝试显示存储在数据库中的图像时,它只显示字符和符号;这是我正在使用的代码:
if ($pass==$dbpass&&$id== $dbid) {
$queryimage = mysql_fetch_array(mysql_query("SELECT `images` FROM `attestation` WHERE id='$id' "))[0];
echo $queryimage;
@$_SESSION['id']=$id;
}
答案 0 :(得分:3)
您需要告诉浏览器您要向其发送哪种数据。在HTTP中,这是使用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;
}
答案 1 :(得分:0)
此行在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;
}
?>