使用存储在数据库中的名称在PHP中显示图像

时间:2013-04-26 11:41:51

标签: php sql image

我试图通过从数据库中获取图像名称来显示“上传”文件夹中的图像。

   while($row = mysqli_fetch_array($result))
  {

  $pic =  $row['image']; 

  echo   $row['item'] ;
  echo  $row['location'];
  echo $row['description'];
  echo  $row['forum'];
  echo $row['datetime'];
  echo $row['username'];

 ?>


</br>


 <img src="upload/<?php echo  $pic ?>"/> 
 <?php echo  $row['image'];  } ?>
 "upload/<?php echo  $pic ?>"

 </body>
 </html>

enter image description here

你可以看到它显示除img src之外的所有内容。

enter image description here

这是我的数据库(忽略BLOB是一个测试)。我似乎无法弄清楚我哪里出错了。 感谢

6 个答案:

答案 0 :(得分:1)

我的建议是将完整的相对路径存储在数据库中,如下所示:

uploads/folder/file.jpg

我首选的MySQL字段类型是'varchar(255)',你的PHP代码中的echo将如下所示:

echo '<img src="'. $row['image'].'" />';

答案 1 :(得分:0)

您正尝试在while循环外部打印图像源。 while循环只会在$row为空时退出,因此$row['image']也为空。

答案 2 :(得分:0)

1)查看源代码(或使用firebug)查看图像标记,看看那里给出的src是什么。

2)尝试网址:“http:// {LOCAL} /projects/projectviewposted.php/upload/happyball(1).jpg”并查看是否可以打开图片

答案 3 :(得分:0)

试试这个

<img src="upload/<?php echo $pic; ?>"/> 
 <?php echo  $row['image'];  } ?>
 "upload/<?php echo  $pic ?>"

请注意文件夹路径的链接。可能是文件夹路径不正确。

希望这有帮助

答案 4 :(得分:0)

您可以尝试:

  while($row = mysqli_fetch_array($result))
  {

      $pic =  $row['image']; 

      echo $row['item'] ;
      echo $row['location'];
      echo $row['description'];
      echo $row['forum'];
      echo $row['datetime'];
      echo $row['username'];

      echo '<br /> 
            <img src="upload/'.$pic.'"/> 
            '.$row['image'];
  }

答案 5 :(得分:0)

3天后我发现了...我的标题位置不正确! ../project/projectviewposted.php /最后一个愚蠢的额外斜线!! 感谢您的帮助和建议!