如题。我已经把图片存进数据库里了。。现在我怎么把这些图片显示到页面中。

解决方案 »

  1.   

    [id] 类型 int 
    [photo] 类型 longblob
    [filetype] 类型 varchar  就这3个了。图片我存在photo里
      

  2.   

    主程序//连接数据库的代码,省略
    //假定为 mysql$起点 = 你指定的图片开始偏移;
    $rs = mysql_query("select * from 表 limit $起点, 10");
    while($row = mysql_assoc($rs)) {
      echo "<img src='showphoto.php?id=$id'>
    }
    showphoto.php
    //连接数据库的代码,省略
    //假定为 mysql$rs = mysql_query("select * from 表 where id=$_GET[id]");
    $row = mysql_assoc($rs);
    header("Content-type: image/$row[filetype]");
    echo $row['photo'];
      

  3.   

    你不是要分页吗? limit 0,10   //从第一条开始取。取10条。
      

  4.   

    汗。。按照xuzuning大师给的做了。。显示了10个X。。图片没出来 
      

  5.   

    可能是showphoto.php页面你没做好吧
    $row = mysql_assoc($rs); 实际是 $row = mysql_fetch_assoc($rs);
      

  6.   

    首先检查路径,再者可能是BOM头引起的。
    一步步调试吧,注释掉header("Content-type: image/$row[filetype]"); 看看报什么错误没有。
      

  7.   

    对了,如果你php版本是5.3以后,还要小心notice级别的错误 $row['filetype'].
    读取图片就不能有别的输出,包括php的报错。
      

  8.   

    单独执行 showphoto.php?id=1 得到什么?
      

  9.   

    $id=$_GET['id'];
       $str="SELECT photo FROM images limit 0,8"; 
       $result=mysql_query($str);
       $row=mysql_fetch_object($result);
         echo  $row->photo; 
    都是。。我用这个代码只能出一张图。。
      

  10.   

    字段 filetype 中保存的是什么?贴出几个看看
      

  11.   

    都是  image/pjpeg  我上传的都是这个类型的
      

  12.   

    header("Content-type: image/$row[filetype]");
    改为
    header("Content-type: $row[filetype]");注释掉也可以另外 photo 中的数据是如何插入的,也请告知
      

  13.   

    通过页面上传存进去的..代码是这个
    <?php 
    $db=MySQL_connect("localhost","root","Myangel"); 
    MySQL_select_db("tu"); if   ( "确定"==$_REQUEST[ 'submit']){ if   ($_FILES[ 'photo'][ 'size']!=0){ 
    $data   =   addslashes(fread(fopen($_FILES[ 'photo'][ 'tmp_name'],"r"),   filesize($_FILES['photo']['tmp_name']))); 
    $sql= "insert into images set photo='$data',filetype=\" ".$_FILES['photo']['type']."\" "; 
    }   mysql_query($sql); 
      $err=mysql_error(); 
    if   ($err){ 
        printf("出错"); 
    }else{ 
                 printf("成功,<a   href=show.php?id=".mysql_insert_id()."> 显示 </a>"); 
        } 
    }else{ 
    ?> 
    <form   name= "form1"   method= "post"   enctype= "multipart/form-data"> 
                    <input   type= "hidden"   name= "MAX_FILE_SIZE"   value= "100000000"> 
                    <input   type= "file"   name= "photo"   size= "40"> 
                    <input   type= "submit"   name= "submit"   value= "确定"> 
                    </form> 
    <?php 

    ?> 
      

  14.   

    如果是 window 环境,那么图片数据已经损坏了
    fopen($_FILES[ 'photo'][ 'tmp_name'],"r")
    要写作
    fopen($_FILES[ 'photo'][ 'tmp_name'],"rb")写成这样就安全了
    $data   =   addslashes(file_get_contents($_FILES[ 'photo'][ 'tmp_name'])); 
      

  15.   

    我用NAVICAT进去查看图片还是在的。。而且用别的方法能显示出来。。但是只能显示一张