Прочитать файл - dump

Name

Новичок
Прочитать файл - dump

Что то не въеду, вот такой файл как прочитать и выполнить, php скриптом
или я чтото не то говорю.

# MySQL-Front Dump 2.5

# Table structure for table 's_news'

DROP TABLE IF EXISTS `s_news`;
CREATE TABLE `s_news` (
`id` int(11) unsigned NOT NULL auto_increment,
`cat_id` tinyint(4) NOT NULL default '1',
............

# Dumping data for table 's_news'

INSERT INTO `s_news` (`id`, `cat_id`, `date`, `title`, "ru", "on");
........
и еще и еще
 

Name

Новичок
Я хотел через cron, востанавливать базу каждые три часа.
Shela нет.
А в MyAdmine как сделано.
 

tony2001

TeaM PHPClub
>А в MyAdmine как сделано.
посмотри.
заодно и другим расскажешь.
где взять phpmyadmin знаешь?
 

Profic

just Profic (PHP5 BetaTeam)
Бред, а новые данные в трубу? Или новые данные не нужны? Тогда зачем базу каждые три часа мурыжить?

Если все-таки нужно
$query = implode ("\r\n", file ("file_dump.sql"));
... коннект к базе
mysql_query ($query);

Но все равно не понимаю, зачем?
 

tony2001

TeaM PHPClub
Profic:
не уверен - не обгоняй.

>Бред, а новые данные в трубу?
тебя это так волнует?

>$query = implode ("\r\n", file ("file_dump.sql"));
>mysql_query ($query);
попробуй сделать так.
расскажешь потом нам результат.
 

Profic

just Profic (PHP5 BetaTeam)
tony2001:
>не уверен - не обгоняй.
Не обгоняю, вижи вопрос - отвечаю...
>тебя это так волнует?
нет, просто онтересно...
> попробуй сделать так.
а в чем проблема, работает...
 

Name

Новичок
> $query = implode ("\r\n", file ("file_dump.sql")); ... коннект к базе mysql_query ($query);
Артист.


В MyAdmine нашел файл read_dump.php там строчек 500 кода, желание разбираться отпало.
Там еще пара файлов таких же размеров то же что то с dump связано.
 

Profic

just Profic (PHP5 BetaTeam)
tony2001:
сорри, бывает, это действительно не работает, спать надо больше....
У меня используется класс (причем довольно давно), которому это легко можно подсунуть, и он правильно разобьёт на запросы, вот мне и взглюкнуло, что и стандартной mysql_query так можно подсунуть :)
Исправляюсь :) Этот код
PHP:
<?php
$query = implode ("\r\n", file ("dump.sql"));
$conn = mysql_connect ("localhost", "****", "*******") or die ("<p>Error while connecting");
mysql_select_db ("test");
$queries = explode (";", $query);
for ($i = 0; $i< count ($queries); $i++) {
 $queries[$i] = trim ($queries[$i]);
 if (empty ($queries[$i])) continue;
 mysql_query ($queries[$i]) or die ("<p>".mysql_error ());
}
echo "<p>All Ok!";
?>
при файле dump.sql содержащем
Код:
create table t1 (
id int(10) NOT NULL auto_increment PRIMARY KEY,
field varchar(255)
) type=MyISAM;

# comment

insert into t1 (field) values ("data1");
insert into t1 (field) values ("data2");
insert into t1 (field) values ("data3");
insert into t1 (field) values ("data4");
insert into t1 (field) values ("data5");
insert into t1 (field) values ("data6");
insert into t1 (field) values ("data7");
Выводит "All Ok!"
 

Profic

just Profic (PHP5 BetaTeam)
Дык, знаю :) Это чтобы смысл показать :) У меня в классе используется preg_split с не хилым регэкспом :)
 
Сверху