gpt4 book ai didi

php - 如何从 MySQL 数据库检索 BLOB 格式的图像并在 html 标签中显示?

转载 作者:行者123 更新时间:2023-11-29 16:10:17 24 4
gpt4 key购买 nike

我使用 phpmyadmin 创建了一个带有表的 MySQL 数据库。我使用 BLOB 列创建了此表来保存 .jpg 文件。

目前我正在尝试在 HTML 标记中显示图像(BLOB),但没有成功。我仅在运行代码时收到损坏的图像图标。

注意:我知道不建议这样做,但目前我也这样做。

我已经尝试在 stackoverflow.com、quora.com 和 codeofaninja.com 中查找各种问题,并尝试实现各种似乎对其他人有效的解决方案,但它们对我不起作用。

我在哪里显示信息(test.php):

<html>
<img src="getImage.php?id=10" width="175" height="200" />
</html>

我试图用来显示图像的代码(getImage.php)

<?php
$link = mysqli_connect("localhost", "root", "");
mysqli_select_db("unirentas");
$id = $_GET['id'];
// do some validation here to ensure id is safe

$sql = "SELECT imagen FROM propiedades WHERE ID_renta=$id";
$result = mysqli_query("$sql");
$row = mysqli_fetch_assoc($result);
mysqli_close($link);

header("Content-type: image/jpg");
echo $row['imagen'];
?>

这应该显示数据库中的所有行以及相同的图像,但它所做的是显示所有行及其相应的信息和损坏的图像。

最佳答案

你的第一个错误是你编写了一个程序,它做了很多事情,然后试图找出为什么它们都不起作用。您应该创建一个最小、可验证且完整的脚本来测试此问题并首先修复该问题 - 您在此处发布的第一个脚本的全部内容应替换为:

<html>
<img src="getImage.php?id=10" />
</html>

您还应该发布将数据写入数据库的代码。您和我们都不知道问题是与写入数据库的数据有关还是在您检索数据时出现。

您还应该检查错误记录/报告是否正常工作,并且 PHP 尚未告诉您错误是什么。

您可以尝试的其他操作是将数据写入文件并检查您是否确实有图像文件,查看 getimage.php 返回的 header 以确保它们是您所期望的。

最后,在将这样的代码放入互联网之前,请花一些时间学习一些有关安全编程的知识 - 这里存在很多安全问题。

关于php - 如何从 MySQL 数据库检索 BLOB 格式的图像并在 html <img> 标签中显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55318795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com