分是可以取回来的。不过有其他人回复之后就取不回来了。
这个答案50分哦,下回你就可以取回自己的分了。哈哈!!!加上你并没有贴出显示代码谁知道你是哪里出了错呢?从这里看来的话,你的插入语句有错误,变量不能包函在单引号里的。
$query="insert into photo(info,name,time,pic,filename,filesize) values('53','72','$date','$data','$filename','$filesize')";
==>
$query="insert into photo(info,name,time,pic,filename,filesize) values('53','72','".$date."','".$data."','".$filename."','".$filesize."')";

解决方案 »

  1.   

    keaizhong(可爱钟) 你不要误导别人,那个单引号只不过是双引号里的一个字符错误在于,$data(BLOB类型)是二进制数据里面含有'\0'这种字符串结束符,需要转义一些字符:
    NUL ASCII 0。你应该用'\0'(一个反斜线和一个ASCII '0')表示它。 
    \ ASCII 92,反斜线。用'\\'表示。 
    ' ASCII 39,单引号。用“\'”表示。 
    " ASCII 34,双引号。用“\"”表示。
      

  2.   

    我说了这个能够正确插入纪录的,跟显示代码没有关系,我不是说了用用c++ builder作了程序,用ADO+myodbc连接mysql,用dbimage显示图片,发现图片显示的效果是一样的。所以显示没有问题。
    错误就在本段代码,而且不是插入的sql语句有问题
      

  3.   

    楼主搅笑哦,"能够正确插入纪录的",又"跟显示代码没有关系",C++ BUILDER又能正常的显示,表明数据结构也是没问题的.
    还有什么问题呢?
      

  4.   

    浏览器的问题...
    猜测ing......
      

  5.   

    用问题就是有问题,我也不卖官子了,
      问题就出在$fp=fopen($pic,"r");这里
    应该改为  $fp=fopen($pic,"rb");打开的是一个二进制的文件,用"r"打开的是文本文件,就会出现我上面所说的现象。
    ( zhutimy(莫明其妙)我又没说C++ BUILDER又能正常的显示,我说的是跟我的php代码显示的效果一样,是有区域被黑色填充的,难道我没说明白?还是你理解错了?
      

  6.   

    在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。 为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 'b' 标记。