Как получить (текстовый) файл в базу данных MySQL - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь загрузить пару библиотек 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) экземпляр

Я также видел этот пост, связанный: как импортировать отформатированный текстовый файл в базу данных mysql

Но мои файлы - это файлы JavaScript, а не структуры текста.Я знаю, что мог бы просто скопировать текст из файла, но это проблематично, учитывая все одинарные и двойные кавычки в моем JavaScript.

Может быть, я мог бы создать фиктивную страницу php, чтобы выбрать и загрузить файл черезбраузер и добавить его в базу данных таким образом ... Это лучший способ?

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Затем вставьте ваши файлы в виде строки в столбце 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();

Другим способом было бы связать ваши файлы на сервере в вашей базе данных для репликации, если это необходимо.

0 голосов
/ 18 марта 2019

если ваши столбцы в файле разделены ',':

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