这是我的第一个Web项目,所以我遇到了一些错误。我不知道如何将网站中的图像以BLOB格式发布到phpmyadmin数据库。
我能够使用$ _POST上传图像,但是在数据库中它不是正确的格式。使用$ _FILES不会上传任何内容。
<form action="insert.php" method="post">
<input type="file" name="img1" id="img1" accept="image/*" onchange="loadFile(event)" class="input-img">
<label for="img1" class="img-labels"></label>
<input type="file" name="img2" id="img2" accept="image/*" onchange="loadFile1(event)" class="input-img">
<label for="img2" class="img-labels"></label>
<input type="file" name="img3" id="img3" accept="image/*" onchange="loadFile2(event)" class="input-img">
<label for="img3" class="img-labels"></label>
//insert.php
<?php
$conn = new mysqli("localhost", "", "", "");
if ($conn->connect_error)
{
die("Failed to connect to MySQL: " . $conn->connect_error);
}
$ID = uniqid();
$Title = $_POST["Title"];
$Description = $_POST["Description"];
$Email = $_POST["Email"];
$Price = $_POST["Price"];
$img1 = addslashes(file_get_contents($_FILES["img1"]["tmp_name"]));
$img2 = addslashes(file_get_contents($_FILES["img2"]["tmp_name2"]));
$img3 = addslashes(file_get_contents($_FILES["img3"]["tmp_name3"]));
$sql = "INSERT INTO posts (ID, Title, Descr, Email, Price, img1, img2, img3, Date) VALUES ('$ID', '$Title', '$Description', '$Email', '$Price', '$img1', '$img2', '$img3', 'DATETIME: Auto CURDATE()')";
if ($conn->query($sql) === TRUE) {
echo "New record created";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
在img字段中包含BLOB文件的记录是手动进行测试的。 img字段为空的记录是使用insert.php制作的。