首页 >数据库 >mysql教程 >如何在 PHP 中显示 MySQL 数据库中的最后五个 BLOB 图像?

如何在 PHP 中显示 MySQL 数据库中的最后五个 BLOB 图像?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-30 15:15:03963浏览

How to Display the Last Five BLOB Images from a MySQL Database in PHP?

显示来自 MySQL 数据库的 BLOB 图像

在您的问题中,您表示有兴趣展示上传到 MySQL 数据库表的最后五个 BLOB 图像名为“商店”。作为 PHP 和数据库处理的初学者,这项任务可能看起来令人畏惧。让我们将其分解为可管理的步骤。

在 MySQL 中存储图像

用于在数据库中存储图像的代码似乎可以正常运行。它使用file_get_contents()读取上传文件的二进制数据,并使用addslashes()转义特殊字符。然后,将此数据连同图像名称和大小一起插入到“store”表中。

检索最后五张图像

要检索最后五张上传的图像,您可以使用如下 MySQL 查询:

<code class="sql">SELECT id, image FROM store ORDER BY id DESC LIMIT 5</code>

此查询按 id 列的降序对结果进行排序,有效地获取最后插入的五个图像。

显示图片

要在网页上显示图片,可以使用以下 PHP 代码:

<code class="php">$result = mysqli_query($db, $sql); // Execute the SQL query
while ($row = mysqli_fetch_assoc($result)) { // Iterate over the result rows
    echo "<img src='get.php?id=" . $row['id'] . "' />"; // Display the image using the `get.php` script
}</code>

上面的代码使用 while 循环来迭代结果行并为每行显示一个 img 标签。图像的来源设置为 get.php,这是一个单独的 PHP 脚本,负责从数据库中获取实际图像数据。

get.php 脚本

get.php 脚本应如下所示:

<code class="php">$id = addslashes($_GET['id']); // Get the image ID from the URL
$image = mysqli_query($db, "SELECT image FROM store WHERE id=$id"); // Fetch the image data
$image = mysqli_fetch_assoc($image); // Retrieve the image data as an array
header("Content-type: image/jpeg"); // Set the content type for the image
echo $image['image']; // Output the binary image data</code>

此脚本获取指定 id 的图像数据,并使用正确的 MIME 类型输出它,从而允许浏览器渲染图像。

结论

按照以下步骤,您可以成功地在 PHP 中显示上传到 MySQL 数据库的最后五张图像的图库。请记住根据表和列名称调整 SQL 查询和 PHP 代码,并考虑优化代码以提高性能,尤其是在处理大型图像文件时。

以上是如何在 PHP 中显示 MySQL 数据库中的最后五个 BLOB 图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn