MySQLデータベースに画像ファイルをアップロードする予定です。誰かが私にこの権利を手伝ってもらえますか?たくさんの方法を試しましたが、まだ画像をアップロードすることはできません。私は以下のコードをしようとしてきたが、それは常にこのようなエラーを取得します。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