$data = AddSlashes(fread(fopen($picture, "r"), filesize($picture))); 
$result=@MYSQL_QUERY( "update Books set smallpic='$data' where bookid=1")
        or die("更新图片不成功哟");
现在我好像成功了一次,第一个记录的图片字段有东西了,但是输不出来(我是说通过程序读不出来,)。

解决方案 »

  1.   

    所以,新的问题应该是:存入前是不是还要另外进行什么编码?回为现在那个字段显示成“GIF89a?                     ”,不知道是什么意思,尤其是看到有个问号,就觉得不踏实。
    我读取这个字段并显示的代码是:<img src="left1.php?BookID='.$row->BookID.'">
    //leftq1.php如下:
    <?php
      $result=mysql_query("select SmallPic from Books where BookID='$BookID'")
              or die("can't perform query");
      $row=mysql_fetch_object($result);
      //header("content-type:image/gif");
      echo $row->SmallPic;
    ?>
      

  2.   

    smallpic 字段怎么定义的?
    是 BINARY (BLOB) 吗?大小够吗?
    (BLOB 字段最大 65535, 如果图片很大,要定义成 MEDIUMBLOB 或者 LONGBLOB)
      

  3.   

    给你一个程序你看看.
    /*_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-    Copyright limuyuan 2000-2008
        图片文件的存取.
        I'm Crazy Programmer  anziqi_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-*/
    <?php
    //$contents就是从数据库读出的字符串//-----------读取
    $filename = "F:/mm/M23406.jpg";
    $fd = fopen ($filename, "r");
    $contents = fread ($fd, filesize ($filename));
    fclose ($fd);
    //将$contents存入数据库中即可
    //也就是把他更新就可以了.//----------输出
    //从数据库读出数据赋给$contents
    $filename = "aaa1.jpg";
    $fd = fopen ($filename, "w");
    fwrite($fd,$contents);
    fclose ($fd);?>
      

  4.   

    不要用addslashes()么?
    不要重新header()的么?
      

  5.   

    <?php 
    // 如果提交了表单,代码将被执行: if ($submit)
     { 
    $Link=MYSQL_CONNECT( "localhost", "root", "****"); 
    mysql_select_db( "lida"); $data = AddSlashes(fread(fopen($picture, "r"), filesize($picture))); $result=@MYSQL_QUERY( "update Books set smallpic='$data' where bookid=3",$Link)
            or die("更新图片不成功哟");
    echo "may be ok"; 
    MYSQL_CLOSE(); }
    else
     {
      echo '<html>
            <body>';
      echo '<form method=post action="pictest.php" enctype="multipart/form-data">
            <input type=file name="picture">
            <input type=submit name=submit>
            </form>';
      echo '</body>
            </html>';
     }
    ?>
    smallpic是longblod,够大吧!现在又不能显示了。
      

  6.   

    addslashes、header都要的。
    程序好象没什么问题啊。不知道是不是什么细节的地方有问题了。