首页 > 数据库 > mysql教程 > 如何使用 PHP 成功将图像 Blob 插入 MySQL 数据库?

如何使用 PHP 成功将图像 Blob 插入 MySQL 数据库?

Patricia Arquette
发布: 2024-12-16 00:39:23
原创
932 人浏览过

How Can I Successfully Insert Image Blobs into a MySQL Database Using PHP?

使用 PHP 在 MySql 数据库中插入 Blob

问题概述

您正在尝试使用 PHP 将图像存储在 MySQL 数据库中,但是它没有按预期工作。图像数据未插入数据库。

解决方案

检查变量插值问题

中您的查询,您正在使用 file_get_contents() 函数来检索图像数据,但您没有明确地将其结果连接到查询字符串。结果,查询包含字符串“file_get_contents($tmp_image)”,而不是实际的图像数据。

解决方案 1:显式串联

串联图像数据正确,你需要跳出字符串去做事情显式:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
登录后复制

处理清理

如果二进制图像数据包含任何撇号 ('),则可能会破坏 SQL 查询。为了防止这种情况,您应该通过 mysql_escape_string 函数运行数据进行清理:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
登录后复制

考虑替代存储

将大型二进制数据(例如图像)存储在MySQL 数据库会使它们变得庞大。如果可能,请考虑使用单独的图像文件存储系统。

以上是如何使用 PHP 成功将图像 Blob 插入 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板