图像没有从php

时间:2015-06-29 14:40:08

标签: php mysql

我试图从php插入一个图像到mysql数据库。我使用以下代码来执行此操作。

$file=  file_get_contents($_FILES['file']['tmp_name']);
$id=$_SESSION['id'];
$sql="UPDATE  mainadmin set photo='$file' where id='$id'";
mysql_query($sql);
$_SESSION['photo']=$file;

但是图像没有插入到mysql数据库中。但它正确存储在会话变量中并正确显示。但是当我要从数据库中获取图像时,我看到之前的图像仍然存储,并且数据库中没有进行更新。任何人都可以帮我找到错误

2 个答案:

答案 0 :(得分:1)

尝试以这种方式更改代码,并将数据库字段照片设为 BLOB 类型

$fp = fopen($_FILES['file']['tmp_name'], "r");  

if ($fp) {

     $content = fread($fp, $_FILES['file']['size']);

     fclose($fp);   

     $content = addslashes($content);     

     $sql="UPDATE  mainadmin set photo='$content' where id='$id'";

     mysql_query($sql);

     $_SESSION['photo']=$content;
}

答案 1 :(得分:0)

我找到了问题的解决方案。 这是我更新的代码。只需使用addSlashes()方法解决了问题

    $file=  file_get_contents($_FILES['file']['tmp_name']);
    $filei=addslashes($file) ;
    $id=$_SESSION['id'];
    $sql="UPDATE  mainadmin set photo='$filei' where id='$id'";
    mysql_query($sql);
    $_SESSION['photo']=$file;