распарсить дамп

cyxapuk

Новичок
распарсить дамп

с помощью данной функции вы сможете правильно распарсить дамп и внести его в mysql

PHP:
  function parse_mysql_dump($url, $ignoreerrors = false) {
   $file_content = file($url);
   //print_r($file_content);
   $query = "";
   foreach($file_content as $sql_line) {
     $tsl = trim($sql_line);
     if (($sql_line != "") && (substr($tsl, 0, 2) != "--") && (substr($tsl, 0, 1) != "#")) {
       $query .= $sql_line;
       if(preg_match("/;\s*$/", $sql_line)) {
         $result = mysql_query($query);
         if (!$result && !$ignoreerrors) die(mysql_error());
         $query = "";
       }
     }
   }
  }
 

MajestiC

Пых
ну все равно если в 1 строке окажутся 2 запроса через ; то скрипт выполнит только 1-ый.
 

voituk

прозревший
Я использовал для этих целей функции из PHPMyAdmin - ошибок пока не обнаружил.
 

voituk

прозревший
http://cvs.sourceforge.net/viewcvs.py/phpmyadmin/phpMyAdmin/libraries/read_dump.lib.php?rev=2.11&view=auto
 

Saturn

Новичок
проблема тут только в одном может быть: в правильности дампа. если он верный, то никаких траблов, если неверный, надо писать проверочный скрипт.
 

vovanium

Новичок
с помощью данной функции вы сможете правильно распарсить дамп и внести его в mysql
гениальная функция, особенно если учесть, что весь дамп загоняется в массив, а теперь представь что будет с серваком если ты попытаешься обработать дамп в котором несколько сотен тысяч строк, общим весом пару сотен мегабайт :)
 

voituk

прозревший
vovanium
Коню понятно что такой вариант тут не рассматривается.

Я вообще не вижу вариантов загрузки пару сот мегабайт данных кроме как кроме как с помошью shell.
 

vovanium

Новичок
Вот посмотри внимательнее здесь, всё возможно, если делать с умом, а новая версия будет работать даже в условиях жестко ограниченного времени работы.
Если бы mysqldump также весь дамп в массив загонял, то и с шелом проблемы были бы :)
 

voituk

прозревший
vovanium
Тю блин!
Тебя смущает что весь дамп в массив загоняется?
Так это всего-то огрехи реализации )))
 

vovanium

Новичок
Так это всего-то огрехи реализации
Ну так тут вроде не сам принцип обсуждается, а данная конкретная реализация. Нужно приучать народ писать правильные скрипты :)
 
Сверху