首页 >数据库 >mysql教程 >如何使用 PHP 正确地将 Blob(图像)插入 MySQL?

如何使用 PHP 正确地将 Blob(图像)插入 MySQL?

Linda Hamilton
Linda Hamilton原创
2024-12-20 09:43:13472浏览

How to Properly Insert Blobs (Images) into MySQL using PHP?

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

当尝试在 MySQL 数据库中存储图像时,您可能会遇到问题。本指南将提供成功存储图像数据的解决方案。

问题

<br>$sql = "INSERT进入ImageStore(ImageId,Image)<br>VALUES('$this->image_id','file_get_contents($tmp_image)')";<br>

这段代码在 PHP 中构建字符串,但在创建字符串之前不会评估函数调用 file_get_contents($tmp_image)。因此,不会插入实际的二进制数据。

解决方案 1

要解决此问题,您需要显式连接函数的结果调用:

<br>$sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . file_get_contents ($tmp_image) 。 "')";<br>

解决方案 2

此外,请确保二进制数据中的任何字符可能会干扰查询的是转义:

<br>$sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . mysql_escape_string (file_get_contents($tmp_image)) 。 "')";<br>

解决方案 3

一般不建议在数据库中存储大型二进制数据。它可能会导致性能问题和数据库膨胀。考虑使用单独的文件系统来存储图像。

以上是如何使用 PHP 正确地将 Blob(图像)插入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!

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