2010-04-05 3 views
0

У меня есть файл MySQL, который я хочу, чтобы импортировать с помощью PHP 5.Импорт MySQL файл в PHP

Во имя пользователя дружественность пользователю не следует использовать такие инструменты, как PhpMyAdmin и т.д. Просто нажмите кнопку, и файл будет импортировать.

Я уже создал код для загрузки файла в местоположение на сервере.

файл выглядит следующим образом:

INSERT INTO products VALUES ('', '0', '10', '', '1', 'be34112', '4536.jpg', '','','','0'); 
SET @master_id = LAST_INSERT_ID(); 
INSERT INTO products_description VALUES ('', '1', @master_id, '1', 'Kjole', '', 'beskrivelse', '2000', '25', 'kjole.xml', '', '', ''); 
INSERT INTO products_to_categories VALUES ('',@master_id,'5'); 
INSERT INTO products VALUES ('', @master_id, '10', '12', '1', 'be34112', '4536.jpg', '200','','','0'); 
SET @variant_id = LAST_INSERT_ID(); 
INSERT INTO products_description VALUES ('', '1', @variant_id, '1', 'Kjole', '', 'beskrivelse', '2000', '25', 'kjole.xml', '', '', ''); 
INSERT INTO options_to_products VALUES ('', @variant_id, '1', '1'); 
INSERT INTO options_to_products VALUES ('', @variant_id, '', '2'); 
INSERT INTO products VALUES ('', @master_id, '20', '17', '1', 'be34113', '4537.jpg', '200','','','0'); 
SET @variant_id = LAST_INSERT_ID(); 
INSERT INTO products_description VALUES ('', '1', @variant_id, '1', 'Kjole', '', 'beskrivelse æøå ÆØÅ & íjj´¨¨¨¨fdfd""', '3000', '25', 'kjole.xml', '', '', ''); 
INSERT INTO options_to_products VALUES ('', @variant_id, '1', ''); 
INSERT INTO options_to_products VALUES ('', @variant_id, '', '4'); 
+2

не опасно импортировать код у незнакомцев ...? – knittl

+1

Этот код не посторонним. Это код, который генерирует моя система. Причина, почему я делаю это таким образом, не имеет значения для вопроса :) – Cudos

+0

Должен ли он создать «пакетный» файл sql? Не могли ли они хранить запросы в формате, который легче разобрать/отделить снова? Например. через var_export()? Или - если файл потенциально может стать большим - в формате, который позволяет вам читать заявления один за другим (или в кусках)? – VolkerK

ответ

3

Загрузить файл в строку, а затем передать его в mysqli::multi_query().

Применяется стандартная оговорка в отношении ненадежных источников данных/запросов/исполняемого кода и т. Д.

0

С очень большими файлами, я бы, как правило, чтобы попытаться разделить файлы самостоятельно. Я спросил a similar question некоторое время назад и получил неплохие результаты.

Смежные вопросы