当尝试在 MySQL 数据库中存储图像时,您可能会遇到问题。本指南将提供成功存储图像数据的解决方案。
<br>$sql = "INSERT进入ImageStore(ImageId,Image)<br>VALUES('$this->image_id','file_get_contents($tmp_image)')";<br>
这段代码在 PHP 中构建字符串,但在创建字符串之前不会评估函数调用 file_get_contents($tmp_image)。因此,不会插入实际的二进制数据。
要解决此问题,您需要显式连接函数的结果调用:
<br>$sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . file_get_contents ($tmp_image) 。 "')";<br>
此外,请确保二进制数据中的任何字符可能会干扰查询的是转义:
<br>$sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . mysql_escape_string (file_get_contents($tmp_image)) 。 "')";<br>
一般不建议在数据库中存储大型二进制数据。它可能会导致性能问题和数据库膨胀。考虑使用单独的文件系统来存储图像。
以上是如何使用 PHP 正确地将 Blob(图像)插入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!