【发布时间】:2022-01-03 02:42:26
【问题描述】:
我的数据库中有 blob 形式的图像,我想做的是,当我在
【问题讨论】:
我的数据库中有 blob 形式的图像,我想做的是,当我在
【问题讨论】:
假设 BLOB 数据存储在称为 products 的 db 表的“image”字段中。
那么如果你想显示id=123的记录的图片,你可以:
<?php
$id=123;
$db = new mysqli("localhost", "usernamexxxx", "passwordxxxxxx", "DbName");
$sql = "SELECT * FROM products WHERE id = ?";
$stmt = $db->prepare($sql);
$stmt->bind_param('i', $id);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_array();
echo '<img src="data:image/jpeg;base64,'.base64_encode($row['image']).'"/>';
?>
注意:如果图片是png,请将image/jpeg改为image/png
补充说明:
所以对于你的特殊情况“输入人名”,php和html会是这样的(假设人名存储在名为“name”的数据字段中):
PHP:target.php
<?php
$name=$_POST["searchname"];
$db = new mysqli("localhost", "usernamexxxx", "passwordxxxxxx", "DbName");
$sql = "SELECT * FROM products WHERE name = ?";
$stmt = $db->prepare($sql);
$stmt->bind_param('s', $name);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_array();
echo '<img src="data:image/jpeg;base64,'.base64_encode($row['image']).'"/>';
?>
HTML 表单将如下所示:
<form action=target.php method=POST>
<input name="searchname">
<br><input type=submit>
</form>
【讨论】: