首页 > 解决方案 > 如何在我的数据库中的 PHP 页面上显示图像?

问题描述

我正在尝试根据用户在表单中输入的内容(IMG 1)显示图像和相关数据。一切正常,但我需要表格来显示实际图像而不是 URL。

在我的数据库中,我将图像数据存储为 URL,但我想在 PHP 页面 (IMG 3) 上显示为图像。

IMG - 1:用户输入的内容

在此处输入图像描述

IMG - 2:搜索结果 在此处输入图像描述

IMG - 3:在 phpMyAdmin 上设置 在此处输入图像描述

所以在表格(IMG 2)中,我希望显示实际图像而不是链接

这是执行搜索和显示数据的代码中最重要的部分。

    $title = trim($_POST["PhotoTitle"]);
    $FromDate = trim($_POST["FromDate"]);
    $ToDate = trim($_POST["ToDate"]);
    $keywords = trim($_POST["keywords"]);

    $query ="SELECT * FROM `photos` WHERE `Photo-Title` like '%".$title."%' AND `Keywords` like '%".$keywords."%' AND `Date-of-Photo` BETWEEN '$FromDate' AND '$ToDate'";

    while ($row = mysqli_fetch_assoc($result)) {
        echo "<tr>\n ";
        echo "<td>",$row["Photo-Title"],"</td>\n";
        echo "<td>",$row["Description"],"</td>\n";
        echo "<td>",$row["Date-of-Photo"],"</td>\n";
        echo "<td>",$row["Keywords"],"</td>\n";
        echo "<td>",$row["Reference-to-S3"],"</td>\n";
        echo "</tr>\n ";
    }

如果需要,我可以提供任何其他信息。

我该如何解决这个问题?

标签: phpdatabaseimagephpmyadmin

解决方案


首先:您的代码非常不安全。它容易受到 sql 注入和 XSS 的攻击。

关于您的问题:您需要输出一个带有图像 url 作为 src 属性的 html 标记。

像这样:

echo "<td><img src='" . htmlspecialchars($row["Reference-to-S3"]) . "' /></td>\n";

推荐阅读