我的问题是我的代码只显示我的数据库中的一个图像。我将id更改为另一行,名称和其他所有内容都很好,但图像不会加载。即使我上传了新图片,这仍然会发生吗?请帮忙!
<?php
session_start();
$user = $_SESSION['username'];
if(!empty($_SESSION['loggedin'])) {
$id = $_GET['id'];
$conn = new PDO ("mysql:host=localhost;dbname=project", "root",
"pass");
$stmt = $conn->prepare("SELECT * FROM images where id = :id");
try {
$stmt->bindParam(':id', $id);
$stmt->execute();
while ($row = $stmt->fetch())
{
if($row == false)
{
echo "Sorry nothing here!";
}
else {
echo "$row[title]";
echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['image'] ) . '" />';
echo "$row[username]";
echo "$row[description]";
echo "$row[category]";
}
}
}
catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
可能导致这种情况的原因是什么?图像存储为长blob,其文件类型在jpg,jpeg,png和gif之间变化。 我也尝试了以下仍然与上面相同的工作:
$image = $row['image'];
echo '<img src="data:image/jpeg;base64,'. base64_encode($image) .'" />';