请给我查询在MySQL数据库中插入图像。我是stackoverflow的新手,所以如果我的问题没有达到标记,请忽略我。
答案 0 :(得分:13)
如果图像位于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';
答案 1 :(得分:5)
是否有一个特殊原因导致您无法存储对图像的引用,而不是实际图像?
图像很大 - 它们使数据库变大。 SQL可能很痛苦(因为它不是面向对象的)并且没有图像类型。
您可以将它们存储为BLOB
...如果您想要编写所有编码,编码,检查等。
答案 2 :(得分:2)
答案 3 :(得分:0)
将图像存储在外部文件夹中并将参考存储在数据库中始终是一个更好的主意。
以下是在数据库中上传图像的分步指南。 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