📜  如何在 php mysqli 中从数据库中检索图像 - PHP (1)

📅  最后修改于: 2023-12-03 15:24:18.749000             🧑  作者: Mango

如何在 PHP mysqli 中从数据库中检索图像

有时候,我们需要从数据库中检索图像并在网页上显示。这个任务在 PHP mysqli 中很容易实现。

步骤

以下是从数据库中检索图像的步骤:

  1. 首先,我们需要建立一个数据库连接。我们可以使用 mysqli_connect() 函数来建立连接。下面是一个建立连接的示例代码:
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
if (!$conn) {
  die('Failed to connect to MySQL: ' . mysqli_connect_error());
}
  1. 接下来,我们需要从数据库中检索图像。我们可以使用 mysqli_query() 函数来执行 SQL 查询语句。下面是一个从数据库中检索图像的示例代码:
$sql = "SELECT image FROM mytable WHERE id='1'";
$result = mysqli_query($conn, $sql);
if (!$result) {
  die('Error: ' . mysqli_error($conn));
}
$row = mysqli_fetch_assoc($result);
$image = $row['image'];

在上面的代码中,我们使用 SELECT 查询语句从 mytable 表中检索 id=1 的记录并提取图像字段。

  1. 当我们获得图像数据后,我们需要将其从二进制格式转换为可显示的图像格式。我们可以使用 base64_encode() 函数将图像数据转换为 Base64 编码的字符串,然后将其嵌入到 img 标签中显示。下面是一个显示图像的示例代码:
<img src="data:image/jpeg;base64,<?php echo base64_encode($image); ?>" alt="image" />

在上面的代码中,我们使用 data URI scheme 将图像数据嵌入到 img 标签中,并指定其 MIME 类型为 image/jpeg。

完整代码示例

下面是一个完整的从数据库中检索图像并在网页上显示的示例代码:

<?php
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
if (!$conn) {
  die('Failed to connect to MySQL: ' . mysqli_connect_error());
}
$sql = "SELECT image FROM mytable WHERE id='1'";
$result = mysqli_query($conn, $sql);
if (!$result) {
  die('Error: ' . mysqli_error($conn));
}
$row = mysqli_fetch_assoc($result);
$image = $row['image'];
?>
<!DOCTYPE html>
<html>
<head>
  <title>Display Image from MySQL</title>
</head>
<body>
  <img src="data:image/jpeg;base64,<?php echo base64_encode($image); ?>" alt="image" />
</body>
</html>
总结

在本文中,我们介绍了如何在 PHP mysqli 中从数据库中检索图像并在网页上显示。我们讨论了建立数据库连接、执行 SQL 查询语句、将二进制图像数据转换为可显示的图像格式等方面的内容。