从表中获取blob图像并使用php sqlite3显示它

时间:2013-06-06 06:06:30

标签: php sqlite blob

我知道这个问题已被多次询问,但我无法使用其中任何一个来解决这个问题。 我是sqlite的新手,无法理解我做错了什么。

我在做什么

我正在尝试制作个人资料视图页面。我可以从我的sqlite数据库中获取所有详细信息,但我无法显示我的个人资料图片。

表结构

    **username|landline|mobile|email|profilepicture**

         john |xxxxxxxx|xxxxxx|x@x.x|blob

我做了什么

  $sql = "SELECT * FROM profile";
  $query = $db->query($sql);
  while($row = $query->fetchArray(SQLITE3_ASSOC) ){
  echo "NAME = ". $row['user_name'] . "<br/>";
  echo "LANDLINE = ". $row['user_landline'] ."<br/>";
  echo "MOBILE = ". $row['user_mobile'] ."<br/>";
  echo "EMAIL =  ".$row['user_email'] ."<br/>";
  header('Content-Type: image/png');
  echo $row['user_profile_picture'];
  }


  <html>
  <img src='profile.php?imgid=<?php echo $row['user_profile_picture'];?>'/>
  </html>

但是当我放header('Content-Type: image/png');

时,图像显示并显示其余的数据显示

1 个答案:

答案 0 :(得分:3)

创建image.php:

<?php 
$sql = "SELECT user_profile_picture FROM profile WHERE id = " . $_GET['id'];
$query = $db->query($sql);
$row = $query->fetchArray(SQLITE3_ASSOC);

header('Content-Type: image/png');
echo $row['user_profile_picture'];

在profile.php中:

<img src='image.php?id=<?php echo $row['id'];?>'/>