php - 如何在我的数据库中的 PHP 页面上显示图像?
问题描述
我正在尝试根据用户在表单中输入的内容(IMG 1)显示图像和相关数据。一切正常,但我需要表格来显示实际图像而不是 URL。
在我的数据库中,我将图像数据存储为 URL,但我想在 PHP 页面 (IMG 3) 上显示为图像。
所以在表格(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 ";
}
如果需要,我可以提供任何其他信息。
我该如何解决这个问题?
解决方案
首先:您的代码非常不安全。它容易受到 sql 注入和 XSS 的攻击。
关于您的问题:您需要输出一个带有图像 url 作为 src 属性的 html 标记。
像这样:
echo "<td><img src='" . htmlspecialchars($row["Reference-to-S3"]) . "' /></td>\n";