За последние 24 часа нас посетили 56352 программиста и 1683 робота. Сейчас ищут 1299 программистов ...

Как корректно отпарсить дамп phpMyAdmin'a

Тема в разделе "Прочие вопросы по PHP", создана пользователем enshtein, 25 авг 2007.

  1. enshtein

    enshtein Активный пользователь

    С нами с:
    27 авг 2006
    Сообщения:
    291
    Симпатии:
    0
    Собственно задача состоит в том, чтобы наполнить массив обзовем его например sql = array(); элементами которого станут отдельные запросы из дампа сделанного в phpMyAdmin....
     
  2. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
  3. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    armadillo
    Это ничем не поможет. Не забывай, что в дампе могут быть строки с экранированными символами, а в строках вообще может быть что угодно - точки с запятой, переносы строк etc.

    enshtein
    Возьми функцию parseSQL() из класса Database моего движка (файл phpc/database.php). Он возвращает не сами запросы, а лишь пары чисел "смещение от начала дампа"-"длина запроса", а ты уже их потом вырезаешь substr()-ами. Так сделано, чтобы в случае больших дампов не вылететь по памяти.
     
  4. dj--alex

    dj--alex Активный пользователь

    С нами с:
    29 ноя 2007
    Сообщения:
    184
    Симпатии:
    0
    у меня тут уже на создании дампа происходят зависания сервера
    http://php.ru/forum/viewtopic.php?p=111198#111198
    несколько дней копал - ничего.

    можете глянуть в чем же глюк?

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