我在我的数据库中存储了几个图像,现在我正在尝试检索它们。我的脚本设置方式是一个用户可以选择的信息和图像。因此,下面的代码显示了图像如何与价格,汽车和细节一起显示。目前图像没有显示,我在钻石形状错误中得到其中一个问号。有什么想法吗?
数据库中的图像存储为BLOB,MIME类型image / jpeg
form method="post" action="booked.php">
<table>
<?php while($row=mysql_fetch_assoc($result)) { ?>
<tr>
Images: <img style="width: 130px; height: 100px" alt="<?php echo $row['car']; ?>" src="image/<?php echo $row['img']; ?>" /></td>
Car: <input type="text" name="car" value="<?php echo $row['car']; ?>" readonly>
Details: <input type="text" name="details" value="<?php echo $row['details']; ?>" readonly>
Price: <input type="text" name="price" value="<?php echo $row['price']; ?>" readonly>
<input type="radio" name="selected_car" value="<?php echo $row['car']; ?>" /><br>
<br /><br /><br />
</tr>
<?php } ?>
</table>
答案 0 :(得分:0)
您是存储文件名还是实际文件?如果是实际文件,则需要编写脚本以从DB获取数据并将其作为输出提供。类似的东西:
<?php
$img = file_get_contents($row['img']);
echo $img;
答案 1 :(得分:0)
要在html中显示图像,您需要使用img标记。图像数据的src需要是一个URL。
您不能只返回数据并期望它显示。人们通常编写一个单独的脚本,它只返回使用header()函数设置的mime类型的图像数据。
<img src="getimage.php?id=<?php echo $row['id'] ?>">
这假设您实际上是将图像数据存储在数据库表的二进制字段中。
答案 2 :(得分:0)
如果您确实要将所有图像数据粘贴到HTML中,则需要对其进行base64编码。看看这里: displaying an image stored in a mysql blob 但我强烈建议你像gview一样说:写一个单独的PHP脚本来获取图像。它必须看起来像这样:
<?php
header('Content-type: image/jpeg');
$id = $_GET["id"];
... get the image from database by $id and echo it ...
?>
......甚至更好 - 不要将图像存储为BLOB。只需将它们存储为文件,只将文件名存储在数据库中。