使用path将文件存储到MySql中

时间:2014-05-23 21:46:28

标签: php mysql sql

我有这张桌子:

CREATE TABLE img (id varchar(29) ,imgFile mediumblob, PRIMARY KEY (id));

我尝试使用图形插件从phpmyadmin放置一张图片并进行此查询:

INSERT INTO img(id, imgFile) VALUES('first', 0xe212d.......8f);

到这里工作得很好,但我想用路径放置文件;为此,我使用此查询:

INSERT INTO img (id,imgFile) VALUES('1221', LOAD_FILE('/home/myname/img.jpg'));

但它给了我这个错误:#1048 - 列'imgFile'不能为空。

在mySql文档上说问题是由文件的权限引起的,但我不明白如何将它们提供给文件
我正在使用UBUNTU linux

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_load-file http://dev.mysql.com/doc/refman/5.0/en/privileges-provided.html#priv_file

1 个答案:

答案 0 :(得分:0)

必须符合http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_load-file列出的所有条件。使用SHOW GRANTS的输出

SHOW GRANTS

查看FILE权限。使用SHOW VARIABLES

SHOW VARIABLES

获取max_allowed_packagesecure_file_priv的值。

使用默认值,您的图像文件可能具有最大1 MB的MySQL,直到5.6.5。不要忘记,您的文件必须是所有人都可读的。