//这是上传代码:
<?php
if($submit)
{
$db_cn=mysql_connect("localhost","root","");
$db_sele=mysql_select_db("pics");
$here=mysql_query("select id from photos order by id desc");
$ttt=mysql_num_rows($here);
if(!$ttt)
{
$totalphotos=1;
}
else
{
$arow=mysql_fetch_array($here);
$totalphotos=$arow["id"]+1;
}
}
echo $totalphotos,"<br>";
$fp=fopen($mdata,"rb");
$data=addslashes(fread($fp,filesize($mdata)));
//$data='0x'.bin2hex($data);
fclose($fp);
$result=mysql_query("INSERT INTO photos(id,notes,filedata,filename,filesize,filetype)
VALUES('$totalphotos','$description','$data','$mdata_name','$mdata_size','$mdata_type')");
print "<p>This file has the following Database ID:<b>$totalphotos</b>";
mysql_close();
?>
//这是显示代码:<?php
if($id)
{
$id=$id+1;
mysql_connect("localhost","root","");
mysql_select_db("test");
$query="select picture from test where id=$id";
$result=mysql_query($query);
$data=mysql_result($result,0,"picture");
Header("Content-type:image/");
echo $data;
}
?请高手指点一下:

解决方案 »

  1.   

    mysql数据库不保存二进制文件。图像是保存在服务器的某一个目录下的。而数据库里保存的是这个图片的路径。
    比如你客户端上传了图片a.jpg
    在服务器端保存在root/uploadfiles/images/a.jpg
    那么你把root/uploadfiles/images/a.jpg存到数据库里就可以了。直接把图片插入数据库是不大行的。
    你先去看看怎么上传图片比较好一些。
      

  2.   

    兄弟你错了,mysql中有一种叫blob数据类型,是二进制数据类型,可以保存二进制数据!
    你说的用mysql保存图片的路径我会。但是我不会用mysql保存图片文件不是路径。