将图像文件插入到无法正常工作的mysql数据库中

时间:2015-09-01 11:10:55

标签: mysql

以下是我正在尝试的命令

 insert into test values(1,LOAD_FILE('/home/smith/Desktop/logo.1.png'));

错误是img列不应该为空。正如我给出img LOAD_FILE为什么这么说?

3 个答案:

答案 0 :(得分:0)

https://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_load-file

  

读取文件并以字符串形式返回文件内容。           要使用此功能,文件必须位于服务器主机上,您必须指定文件的完整路径名,并且您必须具有FILE权限。           该文件必须可由所有人读取,其大小必须小于max_allowed_pa​​cket字节。       如果secure_file_priv系统变量设置为非空目录名,则要加载的文件必须位于该目录中。

如果由于不满足上述条件之一而导致文件不存在或无法读取,则该函数返回NULL。

  1. 文件存在
  2. 绝对路径
  3. 权限
  4. 尺寸

答案 1 :(得分:0)

没有插入文件,将文件名存储在数据库中

from django.core.wsgi import get_wsgi_application
from dj_static import Cling

application = Cling(get_wsgi_application())

所以插入应该是

$name = $_FILES["fileToUpload"]["name"]
$path = "./upload"
$ext = pathinfo($path ,PATHINFO_EXTENSION);
$file_name = $name.'.'.$ext;

一些有用的链接

  1. PHP 5 File Upload //文件上传,存档检查,尺寸,验证

答案 2 :(得分:-1)

I think you should give ownership of file to mysql user try the command below

sudo chown mysql:mysql /home/smith/Desktop/logo.1.png