图像不会添加到SQL数据库

时间:2017-12-20 11:01:20

标签: php html mysql forms

我有一个HTML表单,用户填写一些详细信息以注册竞赛。我希望他们能够上传照片。 PHP脚本成功地将所有内容输入数据库,除了照片名称和照片,任何想法为什么?

HTML:

<form method="post" action="addboat.php">
  <p>Add your boat to the 2018 species hunt</p>

  <p>Boat Name :- <input type="text" name="boatname" size="42"></p>
  <p>Boat Make/Model :- <input type="text" name="boatmake" size="42"></p>
  <p>Skipper :- <input type="text" name="skipper"></p>
  <p>Photo:- <input type="file" name="file"></p>

   <input type="hidden" name="huntyear" value="2018">
  <p align="center"><input type="submit" value="Submit" name="B1"></p>
  <p align="center">&nbsp;</p>
</form>

PHP:

$huntyear = $_POST['huntyear'];
$boatname = $_POST['boatname'] ;
$boatmake = $_POST['boatmake'];
$skipper = $_POST['skipper'];

// Image add
$imagename=$_FILES["file"]["name"]; 

//Get the content of the image and then add slashes to it 
$imagetmp=addslashes (file_get_contents($_FILES['file']['tmp_name']));


$query_rsCatch = "INSERT INTO SpeciesHuntBoats (Year, BoatName, BoatMake, Skipper, PhotoName, Photo) VALUES

('$huntyear','$boatname','$boatmake','$skipper','$imagename','$imagetmp')";
$rsCatch = mysql_query($query_rsCatch, $webdb) or die(mysql_error());

enter image description here

2 个答案:

答案 0 :(得分:1)

您应该在表单中使用多部分表单数据 <form action="action_page" method="post" enctype="multipart/form-data">

答案 1 :(得分:0)

当您提出 POST 请求时,您需要对构成HTML表格提供的请求正文的数据进行编码 multipart/form-data 是更复杂但它允许整个文件包含在数据中。当您想要将文件(图片,文本文件等)上传到服务器时,会使用 enctype='multipart/form-data’