如何将(文本)文件放入mysql数据库

时间:2019-03-18 10:15:46

标签: mysql sql-insert

我正在尝试将几个JS库加载到MySQL表中

create table JSlib (
  ID int primary key auto_increment,
  name varchar(255),
  file TEXT
);

我尝试过

insert into JSlib (name, file) values ('Full', LOAD_FILE('C:\Apache24\htdocs\ia\Full.js'));

但这失败了,因为MySQL数据库是一个远程(AWS)实例

我还看到了与此相关的帖子:how to import a formatted text file into mysql database

但是我的文件是JavaScript文件,而不是结构文本。我知道我可以从文件中复制文本,但是考虑到JavaScript中所有的单引号和双引号,这是有问题的。

也许我可以创建一个虚拟的php页面,以通过浏览器选择并加载文件,然后以这种方式将其添加到数据库中……这是最好的方法吗?

2 个答案:

答案 0 :(得分:1)

然后继续将您的文件作为字符串插入TEXT列中。示例:

/* Assuming $conn is defined, else see PHP DOCS */
// Change `javascript` to your column and "js/jquery.js" to the location of your file.
// NOTE: Your column should be a TEXT field, no limitation in length.
$stmt = $conn->prepare("INSERT INTO `javascript` (codesnippet) VALUES (?)");
$stmt->bind_param("s", $codesnippet);
$codesnippet = file_get_contents( "js/jquery.js" );
$stmt->execute();

如果需要,另一种方法是在数据库中的服务器上链接文件以进行复制。

答案 1 :(得分:-1)

如果文件中的列用','分隔:

LOAD DATA LOCAL INFILE 'C:\Apache24\htdocs\ia\Full.js' 
INTO table JSlib FIELDS TERMINATED BY ','(name, file);