我创建了一个HTML表单,它将运行PHP文件并在数据库中上传图像和文本。我的HTML完美地指向PHP,但上传过程不工作。每次按下提交按钮,该php文件显示不起作用。上传图片到数据库不工作
我的HTML代码:
<form name="f1" method="post" action="php/Savent.php"
enctype="application/x-www-form-urlencoded">
<fieldset>
<legend name = "addev" align="right"><b>Detail</b></legend>
<table width="100%">
<tr align="center">
<th>Choose Image : </th>
<td><input type="file" name="image"/></td>
</tr>
<tr>
<td colspan="2"><br/></td>
</tr>
<tr align="center">
<th>Description : </th>
<td><textarea name="desc" rows="6" cols="30" style="resize:
none"></textarea></td>
</tr>
<tr>
<td colspan="2"><br/></td>
</tr>
<tr align="center">
<td colspan="2" align="center"><input name="submit"
type="submit" value="Submit"/> <input type="reset"
value="Reset"/></td>
</tr>
<tr>
<td colspan="2"><br/></td>
</tr>
</table>
PHP代码:
<?php
if(isset($_POST["submit"])){
mysqli_connect("sql303.unaux.com","unaux_20153623","testin");
mysqli_select_db("unaux_20153623_dummy");
$imageName = mysqli_real_escape_string($_FILES["image"]["name"]);
$imageData =
mysqli_real_escape_string(file_get_contents($_FILES["image"]
["tmp_name"]));
$imageType = mysqli_real_escape_string($_FILES["image"]["type"]);
$desc = mysqli_real_escape_string($_POST["desc"]);
if (substr($imageType,0,5) == "image"){
echo "Working";
mysqli_query("INSERT INTO 'events'
VALUES('','$imageName','$imageData','$desc')");
echo "Saved Succesfully";
}
else{
echo "Not Working";
}
}
?>
你使用错误的enctype。请参阅https://stackoverflow.com/questions/4526273/what-does-enctype-multipart-form-data-mean –
此外,您还需要在执行查询时传递连接变量。 – Akintunde007
同样在你的插入语句中,你需要使用反引号而不是单引号围绕你的表名。确保事件表只有4列 – Akintunde007