我已經檢查了本網站上同一主題的其他問題,並試圖找到解決方案但未成功。圖像存儲在數據庫中的文件夾被成功加載,但不顯示
這裏是我的代碼:PHP:圖像沒有從SQL數據庫中顯示
<html>
<body>
<form action="image.php" method="post" enctype="multipart/form-data">
<input type="text" name="image_description" placeholder="Enter name" required>
<input type="file" name="myfile">
<input type="submit" name="upload" value="upload">
</form>
</body>
</html>
<?php
include("db.php");
if(isset($_POST['upload'])) {
$image_description = $_POST['image_description'];
$name = $_FILES["myfile"]["name"];
$type = $_FILES["myfile"]["type"];
$size = $_FILES["myfile"]["size"];
$temp = $_FILES["myfile"]["tmp_name"];
$error = $_FILES["myfile"]["error"];
$upload=move_uploaded_file($temp, "uploaded/" . $name);
$query= "INSERT INTO image(image_description,image_name,image_type,image_size) VALUES ('$image_description','$name','$type','$size')";
if(mysqli_query($conn,$query) && $upload) {
echo "successfully uploaded";
}
else
die(mysqli_error($conn));
}
$query = mysqli_query($conn,"SELECT * FROM image");
while($row = mysqli_fetch_array($query))
{?>
<img style="width: 200px;height: 200px;" src="<?php echo 'uploaded/' .$row['image_name'] ?>">
<?php
echo $row['image_description'] . "<br>";
}?>
的圖像顯示在畫面
這是數據庫表
你的代碼容易被注入......你不應該在查詢中使用unsanitised PHP變量。你檢查過你的PHP代碼中'$ row ['image_name']'的值嗎?他們是否正確?這些文件是否存在? – Ben
我以後會爲它工作(注射)。正如我告訴它存儲數據庫成功。 – Iony
是的,它可能成功地存儲在數據庫中 - 但實際上是在檢索數據的「PHP」代碼?當你輸出'img'標籤時,什麼是'src'屬性?這是你期待的嗎? – Ben