PHP图像未上载到数据库,不会显示
我有一个更新配置文件页面,您可以从文件夹中选择图像并将其上载到我的MySQL数据库。请看以下代码:PHP图像未上载到数据库,不会显示,php,mysql,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']['nam
$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{}
以及:
这是PHP代码,我使用它从HTML页面的表单中获取图像,然后更新MYSQL数据库的图像列,它是BLOB类型。我去检查了数据库,但数据不在那里,我不知道为什么。如果我在记事本中打开我的图像,它看起来好像包含了所有带有奇怪符号的数据,这很好。但如果我回显$image,它看起来就不一样了,有很多带有问号符号的钻石。这可能表明出了问题。任何人都可以看到我做错了什么,但没有正确获取代码或正确上传代码请确保在表单的HTML部分将表单属性设置为以下约束 如果在HTML表单的
中使用文件上载控件,则必须使用enctype
属性
enctype属性指定表单数据提交到服务器时应如何编码。停止使用
MySQL\uUcode>这是不推荐使用的,也是危险的。改为使用MySQLi\uu
或PDO
并将代码拖到2005年!您还可以使用准备好的语句,这是在SQL中处理用户数据的更好方法,可以防止各种严重的安全漏洞。您可能的副本没有将上载的文件移动到代码中的任何位置。你在哪里做到的。
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;
}
<form action="#" method="post" enctype="multipart/form-data">
</form>