Большой Воронежский Форум
» Программирование>Как выполнить MySQL запросы, если они находятся в отдельном файле?
Master_Leonard 20:28 03.07.2003
Возникла такая проблема. Моя база данных была "сдамплена" в файл base.sql. В нём находится множество запросов к MySQL. Запросы только типа CREATE и INSERT. В общем если этот файл выполнить из строки запросов MySQL, то разворачивается база на сервере.
Можно ли выполнить этот файл запросов из PHP-скрипта? mysql_query тут не поможет? Может есть какая-то возможность? [Ответ]
zic 20:52 03.07.2003
ТУ легко поможет MySQL_Admin .
Либо любая другая программа администрирования MySQL.
Например MySQL-Front
или например продукт EMS MySQL Manager ( как то наподобие ).
Средство админисрирования базы всеравно понадобится в будущем . [Ответ]
gmax 18:37 04.07.2003
Можно парсить содержимое файла, предварительно открыв его при помощи fopen() и поместив содерживое файла в переменную, потом выполнить запрос за запросом, разделяя содержимое переменной по возврату каретки (/n/r)

Ниже пример, все что в <<***>> данные которые тебе необходимо самому ввести.

File:
<<
INSERT INTO table (a,b)value(1,23) \r\n
INSERT INTO table (a,b)value(2,54) \r\n
INSERT INTO table (a,b)value(3,34) \r\n
INSERT INTO table (a,b)value(4,21) \r\n
>>



<?php

$link = mysql_connect("<<ip>>","<<login>>","<<pass>>"); //соединяемся с мускл сервером


mysql_select_db("<<dbname>>"); //выбираем базу данных

$file_ind = fopen("<<Filename>>","r"); //открываем файл для чтения
$file_content = fread($file_ind);//считываем содержимое файла в переменную
fclose($file_ind);//закрываем файл
$file_array = explode("\r\n",$file_content); // превращаем переменную в аррай

foreach($file_array as $query)
{
mysql_query($query); // выполняем запрос
}


myslq_close($link);
?>
Вот и все, телемаркет [Ответ]
Вверх