我正在尝试将几个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页面,以通过浏览器选择并加载文件,然后以这种方式将其添加到数据库中……这是最好的方法吗?
答案 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);