Импорт дампа БД на PHP

Пример функции на PHP, импортирующей файл дампа БД в базу данных. Импортирует дампы, созданные с помощью MySQL dump 9.11 (возможно, получится ипортировать и дампы, снятые другими версиями, однако скрипт тестировался только с этой).

Входные данные:

  • имя файла с дампом БД
  • Хост базы данных
  • Имя пользователя БД
  • Пароль БД
  • Имя базы данных, в которую надо восстановить дамп

Выходные данные:

  • true в случае удачного восстановления дампа
  • false в случае ошибки восстановления

function load_db_dump($file,$sqlserver,$user,$pass,$dest_db)
{
$sql=mysql_connect($sqlserver,$user,$pass);
mysql_select_db($dest_db);
$a=file($file);
foreach ($a as $n => $l) if (substr($l,0,2)=='--') unset($a[$n]);
$a=explode(";\n",implode("\n",$a));
unset($a[count($a)-1]);
foreach ($a as $q) if ($q)
if (!mysql_query($q)) {echo "Fail on '$q'"; mysql_close($sql); return 0;}
mysql_close($sql);
return 1;
}

Поблагодарить автора

One Response to Импорт дампа БД на PHP

  1. Вроде то что я искал. Заточу под codeigniter и смогу устанавливать новый сайт без необходимости залезать в phpMyAdmin

Оставить комментарий

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>