Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как добавить dump в базу данных ? Dump лежит в корневой папке 
V
    Опции темы
numerovan
Дата 9.1.2010, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: 0
Всего: 2



Здравствуйте, у меня такая проблема :
1. имеется страница , на ней расположена кнопка для добавления, создания базы данных, таблиц и записей (dump).
2. пытаюсь сделать чтоб при нажатии кнопки в mysql создалась новыя база данных , которая прописана в dump.sql, а так же всё что находиться внутри файла dump.sql. 

Через командную строку не хотелось бы делать ... Что вы думаете по этому поводу ?

Можно конечно добавить через mysql запрос local infile ... , но мне нужно через скрипт php.

Пытался сделать так : считывать построчно строку с dump.sql, предворительно убрав всё не нужные комментарии, но почему-то не получается так .
Создание базы не рекомендуют выполнять спомощью mysq_create_db() , добавляется через mysql_query("CREATE DATABASE test"), дальше что то стопориться у меня, ни создание таблиц ни добавления записей в таблицу ... что делать уже не знаю.

Подскажите кто знает. Спасибо.

Это сообщение отредактировал(а) numerovan - 9.1.2010, 18:09
PM MAIL   Вверх
bars80080
Дата 9.1.2010, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а чем создавался дамп? (как?)
PM MAIL WWW   Вверх
Avrely
Дата 9.1.2010, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 239
Регистрация: 15.3.2007

Репутация: нет
Всего: 2



1) размер файла какой?
2) Если дамп в sql, то загрузи через phpMyAdmin в сжатом варианте выставив время обработки 30 секунд.
3) А что насчет совместимости версий между БД? С какой бд на какую бд переносите? 
PM MAIL ICQ MSN   Вверх
numerovan
Дата 9.1.2010, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: 0
Всего: 2



Цитата

а чем создавался дамп? (как?) 

У меня программа стоир HeidiSQL, это редактор SQL, в ней есть пункт, где она (программа) помогает создать sql файл. После получается файл с расширением .sql, после открытия его в текстовом редакторе или в другом подобном там описывается структура базы данных, т.е. там написанно всё чтобы создать базу , таблицы и значения в таблице. Надеюсь я ясновыразился.

Цитата

1) размер файла какой?
2) Если дамп в sql, то загрузи через phpMyAdmin в сжатом варианте выставив время обработки 30 секунд.
3) А что насчет совместимости версий между БД? С какой бд на какую бд переносите?  

1. размер маленький примерно 5 кб
2. мне нужно путём скрипта открыть сохранёный, допустим baza.sql, файл и всё что внутри прописанно в нём, то чтоб сработало для mySql. Допустим если в сохранёном файле написанно CREATE TABLE mytable(id int), то нужно чтоб оно корректно выполнилось и создалась в базе необходимая таблица.
3. База таже, версия одинаковая. Тут же создал dump и тут же загрузил для проверки работоспособности.
PM MAIL   Вверх
bars80080
Дата 9.1.2010, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315




кстати, ведь БД создаётся либо один раз, и в этом случае один раз сделать это не должно вызвать проблемы.
в ином случае, когда создаёшь БД для пользователей, тогда это прописывается в скрипт. запрос то тот же, что и при командной строке:
create database basename

Цитата(numerovan @  9.1.2010,  21:42 Найти цитируемый пост)
У меня программа стоир HeidiSQL, это редактор SQL, в ней есть пункт, где она (программа) помогает создать sql файл

далее, может быть, эта программа позволяет заливать БД из сохранённого оной файла

в частносте syphex очень даже успешно сохраняет и заливает базы в обоих направлениях
PM MAIL WWW   Вверх
numerovan
Дата 9.1.2010, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: 0
Всего: 2



Цитата

далее, может быть, эта программа позволяет заливать БД из сохранённого оной файла

программа HeidiSQL хорошо работает в разных направлениях, но в моём случа необходимо чтобы php решил заливку dump-a и вообще возможно ли такое ... Предворительно я подумал и решил построчно считывать строку с сохранёного файла и запускать строку(команду) путём MYSQL_QUERY();, не получилось, хотя сомаже программа HeidiSQL создала этот файл для дальнейшей работы. Пытался сделать так: в файле .txt вписать пару комманд, считать строчки и выполнить через MYSQL_QUERY(); снова ни чего не получилось, после начал считывать весь файл в 1-у строчку, то же не получилось... Вот и думаю в чём проблема ... Я конечно бы мог спокойно в скрипте прописать нужное, типо : создать базу, таблицу и ввести нужно, но если понадобиться базу поменять , допустим не 1 таблица и не 10 значений, а 10 таблиц и в каждой по 100 значений , тут уже будет проблема. Поэтому нужен скрипт , каторый обработает запросы для mysql через отдельный , сохранёный файл.
PM MAIL   Вверх
Simpliest
Дата 9.1.2010, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(numerovan @  9.1.2010,  22:06 Найти цитируемый пост)
снова ни чего не получилось


Цитата(numerovan @  9.1.2010,  22:06 Найти цитируемый пост)
то же не получилось...


Цитата(numerovan @  9.1.2010,  22:06 Найти цитируемый пост)
 Вот и думаю в чём проблема ... 


у всех этих "не получилось"(выше) есть вполне конкретная причина. И эта причина оставляет следы, а именно - сообщение об ошибке.
И надо не рассказывать на форуме, что "не получилось", а взять конкретную ошибку и разбираться с ней.


--------------------
user posted image
PM   Вверх
numerovan
Дата 9.1.2010, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: 0
Всего: 2



ок, считываю построчно запросы для MySQL из файла и с помощью php функций выполняю эти запросы. Ошибка - ни чего нет.

Добавлено через 1 минуту и 46 секунд
Вопрос таков : ЕСТЬ DUMP БАЗЫ ДАННЫХ, НУЖНО ЕГО ВЫПОЛНИТЬ ПУТЁМ php-скрипта ... КАК ЭТО ОСУЩЕСТВИТЬ ?
PM MAIL   Вверх
Avrely
Дата 10.1.2010, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 239
Регистрация: 15.3.2007

Репутация: нет
Всего: 2



Код

$file = тут любая функция которая считает все данные из файла дампа

$con = mysql_connect(данные);
mysql_select_db(выбераем БД);
mysql_query($file);
echo mysql_errno() . ": " . mysql_error() . "\n";

PM MAIL ICQ MSN   Вверх
numerovan
Дата 10.1.2010, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: 0
Всего: 2



Решил проблему, ответ таков (для тех кому эта статья может помочь) :

1. в dump-е нужно программно или в ручную удалить двойные ковычки (с названий: базы, таблиц, ячеек) и не нужные комментарии
2. после считывать построчно файл и выполнять с помощью команды mysql_query()
3. когда делал мнемизацию ни чего тоже не получалось, без неё работало . Сами думайте мнемизировать или нет.
4. если захотите просмотреть значения таблиц через sql-редактор, в моём случае через HeidiSQL, то я ни чего не увидил кроме сообщения "НЕТ СОЕДИНЕНИЯ С БАЗОЙ", а так всё работает.
5. база создаётся через php-код, её нужно прописать перед тем как создавать таблицы, явно прописать в коде mysql_query('CREATE DATABASE name'); после выбрать обычными средствами , т.е. mysql_select_db(name); , а не mysql_query("USE name");

Ладно всем удачи, юзайте на здоровье.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0759 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.