dump & PHP

IgoX

Новичок
dump & PHP

Есть файл dump в котором только insert-ы. Как при помощи РНР его выполнить, без system или exec. Считывать построчно и выполнять по одной строке как-то неочень красиво.
Спасибо
 

tony2001

TeaM PHPClub
1) почему "без system или exec"? "только стоя и в гамаке"?
2) посмотреть как это сделано в phpMyAdmin
 

IgoX

Новичок
Я несовсем Вас понял Oleg Marchuk.
Сечас ковыряюсь phpMyAdmin, время только жалко.
 

buddy

Новичок
тебе в любом случаи придётся разбирать твои запросы не зависимо от того откуда они берутся. но так как у тебя одни инсерты, то задача упрощается

в phpMyAdmin происходит анализ полученных данных (не важно откуда) и соответственно формируются свормированные запросы. анализ запросов происходит при помощи eregi ... очень муторно, но зато безотказно работает :)
 

IgoX

Новичок
как я понял этот анализ просто удаляет ненежную информацию типа комментариев. Только вот я непонял в итоге он делает mysql_query файл mysql_wrappers.lib.php3 стр 112. Если это так то PMA_mysql_xxx не чуть не лучше чем писать своими руками?
 

vovanium

Новичок
В принципе в конце каждого запроса стоит ";", т.е. считываешь и "склеиваешь" строки до появления в конце строки ";" (т.е. до выполнения preg_match("/;$/", $str) ) это и будет конец запроса, саму точку с запятой убираешь, а запрос выполняешь (с помощью mysql_query) и всё. Если нужны только INSERT, то просто проверяешь начинается ли нужный запрос на слово INSERT. Там абсолютно ничего сложного, чтобы копаться в phpMyAdmin (который к тому же глючит с большими запросами, которые спокойно "съедают" MySQL-Front и небольшой мой скриптик, написанный на скорую руку).

Насчет считывания построчно, ничего плохого в этом нет, учитывая, что дамп это обычный текстовый файл, и обычно один инсерт это одна строка...
 
Сверху