【发布时间】:2011-03-02 04:05:56
【问题描述】:
请给我在 MySQL 数据库中插入图像的查询。我是stackoverflow的新手,所以如果我的问题不符合要求,请忽略我。
【问题讨论】:
-
我发现this answer 是最好的解决方案...
标签: mysql
请给我在 MySQL 数据库中插入图像的查询。我是stackoverflow的新手,所以如果我的问题不符合要求,请忽略我。
【问题讨论】:
标签: mysql
您不能存储对图像的引用而不是实际图像是否有特殊原因?
图像很大——它们使数据库变大。 SQL 可能很痛苦(因为它不是面向对象的)并且没有图像类型。
如果你想编写所有的编码、编码、检查等,你可以将它们存储为BLOB...
【讨论】:
将图像存储在外部文件夹中并将参考存储在数据库中总是一个更好的主意。
这是在数据库中上传图片的分步指南。 http://www.phpriot.com/articles/images-in-mysql/7
http://forum.codecall.net/topic/40286-tutorial-storing-images-in-mysql-with-php/
这是从数据库中检索图像的分步指南的链接 http://forum.codecall.net/topic/40849-tutorial-storing-images-in-mysql-with-php-part-ii-display-your-images/
关于 BLOB 的更多信息 http://forums.mysql.com/read.php?20,17671,27914
【讨论】:
【讨论】:
如果图像位于您的 MySQL 主机上,您可以使用 LOAD_FILE() 函数将图像存储在 BLOB 字段中:
CREATE TABLE MyTable (id INT, image BLOB);
INSERT INTO MyTable (id, image) VALUES(1, LOAD_FILE('/tmp/your_image.png'));
您必须确保图像文件可以被 MySQL 读取,并且 MySQL 用户具有FILE 权限。要授予FILE 权限,请以root 身份登录并执行:
GRANT FILE ON *.* TO 'mysql_user'@'localhost';
【讨论】:
select 操作后,我看到存储了 NULL(不是我的 img),为什么?
'c:\\dir\\a.jpg'