为啥从数据库中检索图像时我只找到图像路径

Posted

技术标签:

【中文标题】为啥从数据库中检索图像时我只找到图像路径【英文标题】:Why am i only finding image path when retrieving images from database为什么从数据库中检索图像时我只找到图像路径 【发布时间】:2016-08-18 02:46:46 【问题描述】:

我正在尝试使用 php 从我的数据库中检索图像,我的代码已连接到数据库,正在检索所有其他信息,但它只是在尝试检索图像时显示我的图像路径!有谁知道我做错了什么,所以我可以让我的图片显示出来?

$query = "SELECT p.name, p.image, p.price, p.description, p.category_id, ci.quantity   
    FROM products p 
        LEFT JOIN cart_items ci 
            ON p.id=ci.product_id 
    WHERE p.id=? 
    LIMIT 0,1";

 $stmt = $con->prepare( $query );
 $stmt->bindParam(1, $id);
 $stmt->execute();

 $row = $stmt->fetch(PDO::FETCH_ASSOC);

 $name = $row['name'];
 $image = $row['image'];
 $price = $row['price'];
 $description = $row['description'];
$category_id = $row['category_id'];
$quantity = $row['quantity'];
?>
<!-- html form for updating a product -->

 <tr>
    <td style='width:30%;'>Name<?php echo "<div class='product-id' style='display:none;'>$id</div>"; ?></td>
    <td class='product-name' style='width:70%;'><?php echo $name; ?></td>
</tr>

<tr>
    <td>Image</td>
    <td><?php echo $image; ?></td>
</tr> 

【问题讨论】:

您是否在数据库中存储图像路径?然后,这就是您在获取数据时将检索到的内容。 所以您决定使用已删除的***.com/q/36827768 问题中的幽灵帐户***.com/users/6206243/lauren-d。您也不接受针对已解决问题给出的任何答案。如果您希望获得免费帮助,该网站可以双向使用。 meta.stackexchange.com/questions/5234/… 是的,在我的数据库中,我有一个名为 image 的列,所有值的图像路径都是 images/example.jpg 我所有的图像都存储在 images 文件夹中 所以,据我所知,您没有准备/查询/执行任何东西,也没有绑定任何东西;更不用说“回声”了。 大多数开发人员不会将图像存储在数据库中,因为它非常低效......他们将指向该图像的文件路径存储在服务器文件系统上;所以从数据库中读取文件路径,然后在 html 标记中的 img 标记中使用该文件路径,或者使用 readfile 之类的函数将图像发送到浏览器 【参考方案1】:

现在您有了图像路径,您可以在 html 中显示图像,例如:&lt;img src="&lt;?php echo $row['image']; ?&gt;" &gt;。您这样做是因为这是使用其路径存储/检索图像表单数据库的便捷方式。不是存储图像的路径,而是将整个二进制图像文件存储在数据库中,这会使其更复杂且效率更低。

【讨论】:

我以前可以使用这段代码: 并且它有效,但是当我尝试时在这种情况下使用它是行不通的。

以上是关于为啥从数据库中检索图像时我只找到图像路径的主要内容,如果未能解决你的问题,请参考以下文章

为啥绑定源时我的图片不显示?

Android:无法从mysql数据库中检索图像URL并将其显示在imageView中

Moodle中个人资料图片的路径?

将从数据库检索到的图像显示为具有 CSS 样式的列表

在执行语义分割任务时我应该减去图像均值吗?为啥或者为啥不?

使用 JDBC 从 MySQL 获取图像