我试图在PHP中显示图像

时间:2016-11-21 10:59:43

标签: php

有人可以帮我解决这个小问题。我是新手,我正在尝试使用我的帖子数据库表中的blob数据类型显示图像。我不知道我哪里出错了,但这是我的代码。

$res = $conn->query("SELECT post.postid, post.message,post.photo, post.posted_on, users.username FROM 
                          post INNER JOIN users ON post.userid = users.userid ORDER BY
                          post.posted_on DESC LIMIT 10");
   $result = "";
    while($row = mysqli_fetch_array($res)){
            20204040
            $image = $row['photo'];

            $result.= '<hr/><form method="post" enctype="multipart/form-data">
            <div  class="w3-light-grey w3-padding w3-round-xlarge w3-margin-60">'.
            '<strong> @'.$row['username'].'</strong>'.
            '</span>'.'<br/> '.
            '<span class ="ka">'.$row['message'].'</span>'.

            '<img src="image/$image"/>'.

            '<br/>'.
            '<span class="fa fa-comment w3-text-indigo"></span>'.
            '<a href="#" id="'.$row['postid'].'" class="w3-text-indigo w3-small w3-border-0 w3-light-grey"'.
            ' data-toggle="modal" data-target="#replyModal">'."Reply".'</a>'.
            '<span class ="w3-tiny">'.$row['posted_on'].'</div></form>';


    }

2 个答案:

答案 0 :(得分:0)

检查您的代码是否为初学者...... 20204040坐在那里的是什么?这会导致错误,所以你需要摆脱它......

在你的回声''和你的串联中,你有这个

'<img src="image/$image"/>'.

将其更改为此...

'<img src="image/'.$image.'"/>'.

你在其他地方做过,但在这种情况下没有。

答案 1 :(得分:0)

您将整个图片存储在blob列中。因此,您无法使用此存储的数据,就好像它是图像的简单路径一样。所以,没有机会做一个简单的事:<img src="image/$image">.

你需要&#34;演员&#34;图像通过一个返回图像/ jpg内容类型的php文件,并使用此php文件作为路径,如:<img src="image_builder.php?image_id=999.php">

有关更多详细信息,请参阅此帖子的已接受答案:How can I store and retrieve images from a MySQL database using PHP?

顺便说一句,如果您发现这太复杂,请考虑仅存储存储在磁盘中的图像的路径。在这种情况下,您只需要一个varchar列,而不是一个blob列。因此,您可以使用回显<img src="image/$image_path">.

的方法