Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Import zrzutu bazy danych
vokiel
post
Post #1





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Trochę szperałem na forum, jednak nie znalazłem dobrego rozwiązania dla siebie.
Mam bazę danych na serwerze zewnętrznym (MySQL), oraz bazę danych w LANie (MSSQL), z której część rzeczy pobieram i aktualizuję tą na www.
Napisałem sobie skrypt, który wykonuję lokalnie, pobierający wybrane rzeczy, tworzący taki dump dla MySQL'a. Tak, że teraz wystarczy zrobić import tego dump'a do bazy.
Na serwerze zewnętrznym www mam phpmyadmin'a. Aktualnie robię tak, że się do niego loguję, i robię import pliku z zrzutem bazy.
Chcę to zrobić automatycznie. Tylko nie wiem za bardzo jak.
Czy może ktoś pomoże?

z góry dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
barthpl
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(vokiel @ 14.08.2008, 09:08:13 ) *
Ewentualnie wymyśliłem, żeby dumpa wczytać do tablicy dzieląc ; i potem wykonać te wszystkie zapytania zwykłym mysql_query. Tylko czy to będzie optymalne?

Ja tak to wykonuje i nie narzekam... ...przecież jak często taką operację będziesz wykonywał(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Nie wiem czy potrzebujesz czy nie - mój kod wygląda mniej więcej tak:
  1. <?php
  2. function importDumpFile( $filePath )
  3. {
  4. if (!is_file($filePath))
  5. throw new Exception("Podany plik ($filePath) nie istniej!!");
  6.  
  7. $lines = file( $filePath );
  8. $query = '';
  9. foreach ( $lines as $line )
  10. {
  11. // pozbycie się nie potrzebnych linijek;
  12. if( strncmp($line,'--',2) == 0 )
  13. continue;
  14. if( strncmp($line,'/*',2) == 0 )
  15. continue;
  16.  
  17. $line = ' '.trim($line);
  18. $query .= $line;
  19.  
  20. if( $line[strlen($line) - 1] == ';' ){
  21. // DB()->query( $query ) jest to funkcja która wykonuje zapytanie SQL zapisane w $query;
  22. DB()->query( $query );
  23. $query = '';
  24. }
  25. }
  26. }
  27. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 20:24