首页 >数据库 >mysql教程 >为什么我的 MySQL BLOB 图像无法正确显示?

为什么我的 MySQL BLOB 图像无法正确显示?

Patricia Arquette
Patricia Arquette原创
2024-12-29 15:28:11992浏览

Why Is My MySQL BLOB Image Not Displaying Correctly?

显示在 MySQL 中存储为 BLOB 的图像

寻求检索数据库中存储为 BLOB 的图像,您会在正确显示它们时遇到困难。您的代码检索数据并将其传递给脚本,该脚本将标头设置为 image/jpeg 并回显图像。但是,您在浏览器中看到的是图像图标,而不是图像本身。

要解决此问题,建议您采用修改后的方法:

将图像插入数据库

// Retrieve image data from a temporary file
$image = file_get_contents($_FILES['images']['tmp_name']);

// Prepare an SQL statement and bind the image parameter
$query = "INSERT INTO products (image) VALUES(?)";
$stmt = $db->prepare($query);
$stmt->bind_param('s', $image);

// Execute the statement
$stmt->execute();

检索并显示图像数据库

// Prepare an SQL statement and bind the ID parameter
$sql = "SELECT * FROM products WHERE id = ?";
$stmt = $db->prepare($sql);
$stmt->bind_param('s', $id);

// Execute the statement and retrieve the result
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_array();

// Encode the image data as base64 and embed it in an HTML element
echo '<img src="data:image/jpeg;base64,' . base64_encode($row['image']) . '" />';

这种修改后的方法应该使您能够有效地显示在 MySQL 中存储为 BLOB 的图像。通过绑定图像参数并在 HTML 元素中将其编码为 base64,您可以正确检索并呈现图像数据。

以上是为什么我的 MySQL BLOB 图像无法正确显示?的详细内容。更多信息请关注PHP中文网其他相关文章!

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