【问题标题】:How to take an image from My SQL database and add it to a .html page如何从 Mysql 数据库中获取图像并将其添加到 .html 页面
【发布时间】:2021-10-15 10:48:46
【问题描述】:

我在数据库中有一些图像,我想将它们添加到 html 页面中 这是我当前的代码

<div class = "gridrow">
    <?php
        foreach (range(1, 4) as $value) {
        $result = $conn->query("select * from products where product_ID = '".$value."'");
        $row = $result->fetch_array();
        $name_p1 = $row['product'];
        $price_p1 = $row['price'];
        $image = "<img src='{$row['image']}'>";
        echo "<div class = 'productwindow' >";
            echo "<div class = 'productimage'><".$image."></div>";
            echo "<div class = 'productvar'><p>".$name_p1."</p></div>";
            echo "<div class = 'productvar'><p>$".$price_p1."</p></div>";
        echo "</div>";
        }
    ?>
</div>

This is what the page looks like

These are the errors I get

如何让这些图片正确显示?

【问题讨论】:

  • 对于初学者,您需要在 .php 页面而不是 .html 页面上运行 PHP 脚本(除非您通过 Apache2 的 @987654327 在 .html 中明确启用该功能@)...
  • 首先修复你的 SQL 注入。其次,您可能不应该将图像存储在数据库中,这不是数据库擅长的。如果您坚持这样做,请使用&lt;img src="data:image/png;base64, ' . base64_encode($row['image']) . '"&gt;

标签: php html image


【解决方案1】:

您将图像 data 存储在数据库中,而 img src 标记想要图像 URLs,这就是它变得混乱的原因错误。

解决它的快速方法是将图像数据转换为base64 并将其传递到src 标记中,如下所示:

$image = '<img src="data:image/png;base64,'.base64_encode($row['image']).'">';

这充其量只是一个 hack,not a great idea 出于多种原因,它还假设您的所有图像都是 PNG。

【讨论】:

  • 感谢您的回答,这对于我正在做的事情来说似乎是一个很好的解决方案,但我还需要几天的时间才能对其进行测试
  • 你测试了吗?
  • 抱歉耽搁了,我已经有一段时间没有登录了。这很好用,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-15
  • 2022-07-28
  • 2021-05-07
相关资源
最近更新 更多