SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.11.2013 15:38:30

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Есть ли способ преобразовать данные mysql из бекапа базы в массив php?

Есть бекап базы, но с лишними колонками и другими названиями. Нужно получить данные из этого бекапа в виде массива и этот массив залить в уже пригодную для использования базу. Конечно, можно просто залить в базу все данные а оттуда уже выдернуть как надо. Но у меня возник вопрос. Может можно просто с базы как-то получить данные, и записав их в массив работать с ними.


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#2 24.11.2013 16:15:27

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Есть ли способ преобразовать данные mysql из бекапа базы в массив php?

С данными будет удобнее работать на уровне базы. Считайте, что таблицы базы - это и есть массив.

Неактивен

 

#3 24.11.2013 16:30:31

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Есть ли способ преобразовать данные mysql из бекапа базы в массив php?

Я сейчас делаю через eval. Обрезаю все от скобки до скобки и преобразую в массив. Просто думал, может есть какая-нибудь функция или класс в php, которые позволяют преобразовать данные в массив непосредственно со структуры бекапа. Но тут тоже не очень удобно, вот например в одно месте попалась такая строка

(98, 'абв''гд')

Как вот понять, что она часть строки

Отредактированно platedz (24.11.2013 16:38:25)


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#4 27.11.2013 10:59:57

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2423

Re: Есть ли способ преобразовать данные mysql из бекапа базы в массив php?

eval - не лучшее средство в программировании, прямо скажем.
Да и пытаться распарсить содержимое дампа базы - тоже можете столкнуться с проблемами.
Например, если будет строчка (пример притянут за уши, но...)
insert into mytable values('"\')"\\\'');

Почему бы Вам просто не импортировать имеющийся дамп в новую базу, а там уже удалить лишние колонки и переименовать те, которые нужно?


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson