mysql 图片的存取

来源:百度知道 编辑:UC知道 时间:2024/05/05 08:38:22
<?php

$filename = "menu.gif";
$fp = fopen($filename,"rb");
$picture = fread($fp,filesize($filename));
$picture = base64_encode($picture);
fclose($fp);

$conn=mysql_connect("localhost","root","dba");
mysql_select_db("admin",$conn);
$query="insert into image (filename,picture) values ('$filename','$picture')";
$result=mysql_query($query);
echo$id=mysql_insert_id();
$query="select * from test where id=1";
$result=mysql_query($query);
while($rows=mysql_fetch_array($result)){
echo $rows['picture'];
}
?>这个代码能吧图片放到mysql中但是无法读取出来一直提示说:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\php\GD\save\saveimage.php on line 22
这是怎么回事还是mysql读取图片有另一种方法??,请指教

由于你存入数据库当中的是二进制的,所以你得转换成二进制的然后再存入进去,对于你这种情况,你可以采用另一种方式去存取图片,当你在存图片的时候,你不要把图片以二进制的形式存到数据库中,你只要将图片上传到一个专门的目录当中,然后只是保存这个图片的具体路径就可以了,这样可以缓解数据库很大压力,然后存取的时候也很方便快速~~~

你insert into image表 读的时候怎么有是test表了?

header头部,不能直接输出。
另外最好用实际的图片文件存图片,而不要将数据存入到MySQL中。