尝试在 MySQL 数据库中存储图像时,如果查询无法插入图像,则可能会遇到问题。本文将提供此问题的解决方案。
问题:
在以下查询中,file_get_contents($tmp_image) 被视为字符串而不是函数调用:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','file_get_contents($tmp_image)')";
解决方案1:
跳出字符串并执行显式串联:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
解决方案2:
转义二进制数据以防止无效查询:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
解决方案3:
通过将图像存储在文件系统中或使用云存储服务来最小化数据库大小。
以上是如何使用 PHP 在 MySQL 中正确存储图像(Blob)?的详细内容。更多信息请关注PHP中文网其他相关文章!