Предыдущая публикация
php developmentArsen Chakhmakhchyan

php development

3 ноя 2014предложил 
Arsen Chakhmakhchyan

как импортировать sql файл средствами php ?

Комментарии 8

Pavel Voronin
Pavel Voronin
проще всего открыть через file_get_contents

потом разбить на строчки используя split по символам точка с запятой; при экспорте обычно команды разделяются именно точкой с запятой;

далее подключиться к серверу mysql через mysql_connect

далее последовательно выполнить все команды из файла через mysql_query 
16 ноя 2014
  • Нет комментариев
    Новые комментарии
    Pavel Voronin
    Pavel Voronin
    еще могут быть строчки с комментариями, надо их игнорировать
    16 ноя 2014
  • Нет комментариев
    Новые комментарии
    Arsen Chakhmakhchyan
    Arsen Chakhmakhchyan
    Автор
    Буду вам благодарен если вы напишите простой пример
    16 ноя 2014
  • Нет комментариев
    Новые комментарии
    Arsen Chakhmakhchyan
    Arsen Chakhmakhchyan
    Автор
    Надо чтобы администратор мог  сасастаыателно импортировал sql фаил
    16 ноя 2014
  • Нет комментариев
    Новые комментарии
    Arsen Chakhmakhchyan
    Arsen Chakhmakhchyan
    Автор
    ответил Pavel
    Заранее спасибо за ответ
    16 ноя 2014
  • Нет комментариев
    Новые комментарии
    Pavel Voronin
    Pavel Voronin
    я не знаю где, кто и как собирается делать импорт, у меня давно написана функция импорта/экспорта для sql, при желании можно улучшить и переделать как надо, да и принцип понятен.
    16 ноя 2014
  • Нет комментариев
    Новые комментарии
    Pavel Voronin
    Pavel Voronin
     public function ExecuteSQLFile($file_name)
        {
            if (file_exists($file_name))
            {
              $sql_list = file_get_contents($file_name);
              $sql_list_array = split("###",$sql_list);
              foreach ($sql_list_array as $key=>$sql_query)
              {
                print "executing = ".$sql_query." ok!
    ";flush();
                $this->Execute($sql_query);
              }
            } else print "file not found";
        }
    16 ноя 2014
  • Нет комментариев
    Новые комментарии
    Pavel Voronin
    Pavel Voronin
     public function SaveTablesAsSQL($tables_array, $file_name)
        {
            if (is_array($tables_array))
            {
                $sql_row_string = "";
                foreach ($tables_array as $key => $table_name)
                {
                    $q = $this->CreateQuery("select * from $table_name"-);
                    if ($q->GetNumRows()<=0) continue;

                    while ($row = $q->GetRow())
                    {
                        $sql_row_string .= utils::RowToInsertSQL($table_name,$row)."";
                    }
                    $sql_row_string .= "";
                }
            }

            if (!file_exists("../export&quot;-)) mkdir("../export&quot;-);
            $f_handle = fopen("../export/".$file_name,"w&quot;-);
            fputs($f_handle, $sql_row_string, strlen($sql_row_string));
            fclose($f_handle);
            return $sql_row_string;
        }
    16 ноя 2014
  • Нет комментариев
    Новые комментарии
    Новые комментарии
    Для того чтобы оставить комментарий, войдите или зарегистрируйтесь
    Следующая публикация
    Свернуть поиск
    Сервисы VK
    MailПочтаОблакоКалендарьЗаметкиVK ЗвонкиVK ПочтаТВ программаПогодаГороскопыСпортОтветыVK РекламаЛедиВКонтакте Ещё
    Войти
    php development

    php development

    ЛентаТемы 17Видео Участники 45
    • Подарки
    Левая колонка
    Всё 17

    Присоединяйтесь — мы покажем вам много интересного

    Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.

    Зарегистрироваться