我創建了一個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