0

我已经在我的数据库中存储了几张图像,现在我正在尝试检索它们。我的脚本的设置方式是一个用户可以选择一些信息和图像来配合它。因此,下面的代码显示了图像如何与价格、汽车和详细信息一起显示。目前图像未显示,我在菱形错误中得到其中一个问号。有任何想法吗?

数据库中的图像存储为 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>
4

3 回答 3

0

如果你真的想在 HTML 中粘贴所有的图像数据,你需要对它进行 base64 编码。在这里查看如何: 显示存储在 mysql blob 中的图像 但我强烈建议您像 gview 所说的那样:编写一个单独的 php 脚本来获取图像。它必须看起来像这样:

<?php
    header('Content-type: image/jpeg');
    $id = $_GET["id"];
    ... get the image from database by $id and echo it ...
?>

... 甚至更好 - 不要将图像存储为 BLOB。只需将它们存储为文件,并且仅将文件名存储在数据库中。

于 2013-04-10T20:01:29.347 回答
0

您是存储文件名还是实际文件?如果它是实际文件,您需要编写一个脚本来从数据库中获取数据并将其作为输出呈现。就像是:

<?php $img = file_get_contents($row['img']); echo $img;

于 2013-04-10T19:48:44.810 回答
0

要在 html 中显示图像,您需要使用 img 标签。图片数据的src需要是一个url。

您不能只返回数据并期望它显示。人们通常编写一个单独的脚本,它只返回使用 header() 函数设置的 mime 类型的图像数据。

<img src="getimage.php?id=<?php echo $row['id'] ?>">

这假设您实际上将图像数据存储在数据库表的二进制字段中。

于 2013-04-10T19:48:52.997 回答