-2
我打算將圖像文件上傳到我的MySQL數據庫。有人可以幫我解決這個問題嗎?我嘗試了很多方法,但仍然無法上傳圖像。我一直在嘗試下面的代碼,但它總是得到這樣的錯誤:如果你真的想要的是在DB保存圖像,而不是實際的文件夾的將圖像上傳到MySQL數據庫時出錯
Error: INSERT INTO uploaded_images VALUES ('', asdasdasd , C:\xampp\tmp\phpE7CE.tmp) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':\xampp\tmp\phpE7CE.tmp)' at line 1
<!DOCTYPE html>
<html>
<body>
<?php
include("database/db_conection.php");
if ($_POST) {
$imagename = $_POST['imagename'];
$imagedata = mysqli_real_escape_string($conn ,$_FILES['image']['tmp_name']);
$imagetype = $_FILES['image']['type'];
if(substr($imagetype,0,5) == "image") {
$sql = "INSERT INTO uploaded_images VALUES ('', $imagename , $imagedata)";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
}
}
?>
<form action="upload.php" method="POST" enctype="multipart/form-data">
Name: <input type="text" name="imagename"> <br>Select image to upload:
<input type="file" name="image" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
即使此代碼正常工作,它也會在存儲或檢索時破壞該文件。在存儲到數據庫之前,您需要'base64encode()'文件。此外,它是一個更好的主意,將文件存儲在文件系統上,並保留文件在數據庫中的路徑 – RiggsFolly
對不起,我剛開始學習,導致我的教授希望我的系統能夠上傳照片,然後查看。我的計劃是將圖像存儲到我的數據庫,所以它會變成blob,然後生病只是從數據庫中檢索它,當我想通過使用增量ID查看該圖像..這是我的想法 – Jomai