PHP Image不会上传到数据库,也不会显示

时间:2016-09-11 10:46:09

标签: php mysql

我有一个更新个人资料页面,您可以从文件夹中选择一个图像并将其上传到我的MySQL数据库。看看这段代码:

$image ="";
$image_size;
$image_name;
$uploadable = false;
if(isset($_FILES['image']['tmp_name'])){
     $image= file_get_contents($_FILES['image']['tmp_name']);
     $image_name=$_FILES['image']['name'];
     $image_size=getimagesize($_FILES['image']['tmp_name']);

     if($image_size==false){
     $_SESSION["FLAW"] = '4';
     header("Location:editprofile.php"); 
     echo "nope";  
     $uploadable = false;
     }else{
        $uploadable = true;
     }
}else{}

AND:

if($row[6] == $id && $uploadable == true){
             if(($fetchedemail == $emailentered) || ($fetchedemail != $emailentered && ($new == true)) ){

                $query = mysql_query("UPDATE `allaccounts`  SET `realname` = '$realname' WHERE `allaccounts`.`id` = $id;");
                $query2 = mysql_query("UPDATE `allaccounts` SET `twitter` = '$twitter' WHERE `allaccounts`.`id` = $id;");
                $query1 = mysql_query("UPDATE `allaccounts` SET `email` = '$emailentered' WHERE `allaccounts`.`id` = $id;");
                $query3 = mysql_query("UPDATE `allaccounts` SET `facebook` = '$facebook' WHERE `allaccounts`.`id` = $id;");
                $query4 = mysql_query("UPDATE `allaccounts` SET `description` = '$description' WHERE `allaccounts`.`id` = $id;");
                $query5 = mysql_query("UPDATE `allaccounts` SET `image` = '$image' WHERE `allaccounts`.`id` = $id;");
                $query6 = mysql_query("UPDATE `allaccounts` SET `filename` = '$image_name' WHERE `allaccounts`.`id` = $id;");
            //  header("Location:Myprofile.php");
                $_SESSION["FLAW"] = '';
                break;
            }else{
                    //header("Location:editprofile.php");
                    $_SESSION["FLAW"] = '3';

                    break;
            }

这是我用来从我的HTML页面上的表单中获取图像然后更新我的MYSQL数据库的图像列的PHP代码,这是一个BLOB类型。我去检查数据库,但数据不存在,我不知道为什么。如果我在记事本中打开我的图像,看起来它的所有数据都带有奇怪的符号,这很好。但如果我回显$ image它看起来不同,并且有很多带有问号符号的钻石。这可能表明出现了问题。任何人都可以看到我做错了什么不能正确获取代码或正确上传

1 个答案:

答案 0 :(得分:1)

确保在表单的HTML部分中将表单属性设置为以下约束。

如果您在HTML表单的<input type="file" name="file">中使用文件上传控件,则必须使用enctype属性。

enter image description here

<form action="#" method="post" enctype="multipart/form-data">
</form>

enctype属性指定在将表单数据提交给服务器时应如何编码表单数据。