可以这么作:
<?php 
$handler=mysql_pconnect("localhost","root")or die("连接MYSQL服务器失败");
mysql_select_db("my",$handler);
if ($pic!="none")

$fp=fopen($pic,"b");
$data=serialize(bin2hex(fread($fp,filesize($pic))));
}
$query="insert into my (comp ,name pic) values('$comp','$name','$data')";
$result=mysql_query($query,$handler);
?>
在读出图片的时候用unserialize就可以了

解决方案 »

  1.   

    1、blob可以存放二进制数据,而phpmyadmin无二进制编辑功能,所以‘二进制码,无法编辑’
    2、$fp=fopen($pic,"b");缺少打开方式,读 r、写 w
    所以‘Warning: fread(): supplied argument is not a valid stream ....
      

  2.   

    图片终于存到数据库里了!非常感谢各位热心朋友的关心与支持。其实,斑竹认为图片只需存路径,我个人觉得当然可以,但我也知道mysql数据库的功能非常强大,存储图片没什么问题。而且我在毕业实习的时候就是参与了一个中型网站的设计,那时候就是因为图片不能存到数据库里,忙了一周才搞定。我觉得图片存储时fopen($pic,'rb')其中的rb很重要,还有fread()函数,一定要理解后再用。当然,还要多到论坛来请教各位高手。我觉得phpmyadmin只不过是界面做的方便我们操作数据库,但对存有图片的数据不能进行任何操作。只能在命令行状态下解决了,感觉有点麻烦。
      

  3.   

    cybersoccer等PHP高手,
      本人正为在mySQL中存取图片一筹莫展,烦请cybersoccer指点迷津,另外
    语句:echo "<img src=\"showpic.php?id=$arow->id\">";中包含那些要点,在调用代码
    showpic.php时,参数ID如何传递?
      

  4.   

    我可不是什么高手,也是初学者,我的配置是windows2000+apache+mysql+php,图片存储时的代码见:if ($pic!="none")
    { $fp=fopen($pic,"rb");
    $data=addslashes(fread($fp,filesize($pic)));}
    $query="insert into my (comp ,name pic) values('$comp','$name','$pic')";
    $result=mysql_query($query,$handler);其中$fp=fopen($pic,"rb")的rb很重要。
    参数传递的问题我现在还不太清楚。
      

  5.   

    cybersoccer,
    多谢指点。可是我现在却是无法将图片从MYSQL数据库中取出来显示在WEB页面上。
    可否有关键性代码可以参考?再次感谢您的提示代码。
      

  6.   

    这个好象在WIN平台下都可以实现的,一般的都可以显示成二进制的代码,然后可以显示出来的(FLASH、图片什么的都可以的),但是在其他平台下没有用(我没有用过)。
      

  7.   

    我从数据库中取出二进制文件,直接echo就可以从web显示出来图片。但是,只能显示第一张
    代码如下。
    <?
    include "conect.inc.php";
    $query="select * from image";
    $result=mysql_query($query,$conn) or die(mysql_error);
    while($row=mysql_fetch_array($result))
    {
    echo $row["pic"];
    echo "<br>";}
    ?>
    这是这个文件所有的代码。我不知道这是怎么回事。没有header(……)函数,并且gif和jpg都能显示。
    我是在xp+iis下面。