我一直在尝试使用PHP回显数据库中的图像。我在论坛上尝试了各种解决方案但没有成功。我只是得到一个空白图像作为输出。
while($rows=mysqli_fetch_assoc($getquery))
{
$id=$rows['id'];
$LastName=$rows['LastName'];
$FirstName=$rows['FirstName'];
$Year=$rows['Year'];
$Press=$rows['Press'];
$Description=$rows['Description'];
$Title=$rows['Title'];
$image=$rows['image'];
echo '<div class = "paragraph">' . $LastName . '<br/>'. $FirstName . '<br/>' . $Year . '<br/>' . $Press . '<br/>' . $Title . '<br/>'. $Description . "<img src='image/".$row['image']."' />" . '</div>' ;
}
答案 0 :(得分:2)
您将图像回显为$row['image']
,但之前对图像的唯一引用是$rows['image']
(注意s)和$image
。更新echo语句以使用其中任何一个而不是$row['image']
。
修改:这不能完全解决您的问题。正如您对问题的评论中所述,您需要进行一些实际操作以实际显示图像here。
答案 1 :(得分:0)
while($rows=mysqli_fetch_assoc($getquery)){
$id=$rows['id'];
/*
assuming the `image` directory is relative to the root
and not the directory from which the script runs then
a leading slash might be the issue.
*/
echo "
<div id='{$id}' class='paragraph'>
{$rows['LastName']}<br/>
{$rows['FirstName']}<br/>
{$rows['Year']}<br/>
{$rows['Press']}<br/>
{$rows['Title']}<br/>
{$rows['Description']}
<!--<img src='/image/{$row['image']}' />-->
<img src='data:image/jpeg;base64, {$rows['image']}' alt='' title='' />
</div>";
}
如果在将数据保存到数据库时存储图像的mimetype,那么您将替换上面的正确mime / content类型,即:image/png
,image/gif
等,这样就可能类似的东西:
<img src='data:{$rows['mimetype']};base64, {$rows['image']}' alt='' title='' />