Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将图像插入数据库?_Php_Mysql_Image - Fatal编程技术网

Php 如何将图像插入数据库?

Php 如何将图像插入数据库?,php,mysql,image,Php,Mysql,Image,我正在学习mysql,并且在使用这段代码构建图像数据库时遇到了巨大的困难 我知道如何创建表,我知道我需要用于图像的longblob。没问题。目前我正在通过以下方式创建:CREATE TABLE pics ( picid int无符号非空自动增量主键, 文件名varchar(255)不为空且唯一, 标题varchar(255)不为空, pic longblob不为空 ); picid中的“非空””给我带来了问题。因为接下来当我尝试使用此代码填充时: 插入到pics值中 ( 无效的 “bear.

我正在学习mysql,并且在使用这段代码构建图像数据库时遇到了巨大的困难

我知道如何创建表,我知道我需要用于图像的longblob。没问题。目前我正在通过以下方式创建:
CREATE TABLE pics
( 
picid int无符号非空自动增量主键,
文件名varchar(255)不为空且唯一,
标题varchar(255)不为空,
pic longblob不为空
);

picid中的“非空””给我带来了问题。因为接下来当我尝试使用此代码填充时:
插入到pics值中
( 
无效的
“bear.jpg”,
“一张熊的照片”,
加载文件('C:/Users/Users\u NAME/Pictures/bear.jpg')
);

我遇到错误#1048-列“pic”不能为空


请帮忙。我疯了……

问题不在于
picid
<代码>加载文件('C:/Users/Users\u NAME/Pictures/bear.jpg')
很可能失败并返回
NULL

更不用说,您不应该将图像存储在数据库中。图像是文件,应该以文件的形式存储在文件系统中。数据库应该在文件系统中保存元数据+文件地址


请参阅,以获得一个好的系统。

如果仍要继续使用blob方法,请尝试本教程

你为什么在这里贴上。。。答案是你不应该将图像存储在数据库中。建议使用sql server标记…我正在学习dude..建议我使用路径,而不仅仅是将图片加载到数据库中。不过,加载文件应该返回该文件…路径不是“空的”。“应该”和“是”之间有很大的差距。确保LOAD_文件返回您认为它的功能。另外,请阅读其余的答案。谢谢你的快速回复。你提到的那篇文章有点太高级了,我对它没有经验。但是我的路径使用正斜杠而不是反斜杠(b/c反斜杠是mysql中的转义命令),我应该只使用双反斜杠吗?您将使用什么代码/体系结构来构建和填充这种数据库?