Avatar billede coolzone Nybegynder
18. november 2004 - 23:58 Der er 10 kommentarer og
1 løsning

Restore mysql dump

Jeg har et dump fra mysql. Dumpet er lavet via et lille script og det er ser helt ud som et dump fra PHPMYADMIN.

Jeg skal bruge et script der kan restore udfra dumpet. Det må ikke være phpmyadmin, og ikke noget command.

Det skal være en ren php sql query, der tager dumpet og udføre dem.

Det jeg har lavet uploader filen og læser data ind i en variabel. Men på denne måde laves den første query og derefter kommer der fejl idet mysql_query ikke kan lave flere querys på en gang.

Umiddelbart virker det som om dumpet skal ind i et array og derefter loopes, men jeg kan ikke lige finde ud af at lave det.

Noget der eventuelt kender et script der laver noget der minder om det eller som kan restore et dump?
Avatar billede googolplex Novice
19. november 2004 - 00:43 #1
Prøv lige at smid den kode du har, det ville måske gøre det nemmere at hjælpe :)
Avatar billede coderdk Praktikant
19. november 2004 - 02:37 #2
Ville det ikke virke med:

$dump = file_get_contents( "fil.sql" );
$dump = preg_replace( "/^#.+$/", "", $dump );
$statements = explode( ";", $dump );
foreach ( $statements as $sql )
{
  mysql_query( $sql );
}
Avatar billede coolzone Nybegynder
19. november 2004 - 12:33 #3
Jeg fandt et færdigt script der kunne det jeg skulle bruge.

Tak for svarene. I kan dele point :-)
Avatar billede coolzone Nybegynder
19. november 2004 - 12:33 #4
Skriv lige et svar, begge to.
Avatar billede coderdk Praktikant
19. november 2004 - 12:34 #5
Jamen ok, du prøvede ikke mit svar? :)
Avatar billede coolzone Nybegynder
19. november 2004 - 17:21 #6
coderdk nej, jeg fik ikke afprøvet dit svar men jeg er meget sikker på at det ville have virket! Jeg har kigget på din kode og den stripper dumpet og laver løkken - jeg tror den ville virke!
Avatar billede coderdk Praktikant
19. november 2004 - 17:27 #7
hehe jamen ok, tak for point så :)
Avatar billede benzon Praktikant
15. marts 2006 - 15:16 #8
problemet hved din coderdk den timer out hvis der er for meget data i filen hehe
Avatar billede coderdk Praktikant
15. marts 2006 - 15:27 #9
True, man skal have rettigheder til at sætte set_time_limit() eller også skal man reloade siden og bruge offset til at finde ud af hvor langt man er kommet i filen :)
Avatar billede benzon Praktikant
15. marts 2006 - 15:59 #10
er det ikke htaccess du smider set_time_limit() i?
Avatar billede coderdk Praktikant
15. marts 2006 - 16:09 #11
Nej du kan bare kalde:

set_time_limit(0);

fra dit php script :)

Du kan også sætte det i php.ini eller bruge ini_set - men så hedder indstillingen max_execution_time
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester