Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

Import af sql dump med PHP

Side 2 ud af 3 (26 indlæg)
Fra København S
Tilmeldt 6. Jun 10
Indlæg ialt: 484
Fra  GetWebbed Skrevet kl. 22:51
Hvor mange stjerner giver du? :

Hej Casper,

Mit problem er at jeg skal prøve at importere mit dump.sql via php, uden phpmyadmins userinterface. processen skal nemlig ske automatisk.

Fra Mern
Tilmeldt 21. Apr 08
Indlæg ialt: 144
Fra  bar-udlejning.dk Skrevet kl. 22:52
Hvor mange stjerner giver du? :
Database dump som i en .sql fil, eller vil du bare have et tekstfelt hvor man kan indsætte det dump man får fra databasen?

Kan iøvrigt ikke se problemet i Casper's svar.

NB: Okay, du svarede selv på det i indlægget ovenover.

Prøv lige at smid en or die(mysql_error()); ind i din query, måske giver det en mere håndterbar fejl..

Udlejning af bartendere til din fødselsdag, firmafest, julefrokost eller bryllup.

Fra København S
Tilmeldt 6. Jun 10
Indlæg ialt: 484
Fra  GetWebbed Skrevet kl. 22:55
Hvor mange stjerner giver du? :

Nicklas Wesche:
Kan iøvrigt ikke se problemet i Casper's svar.

Der er intet problem i svaret, svaret er bare ikke lige det jeg søger. Jeg kender godt til phpmyadmin, har sågar brugt det til at lave dumpet.

Fra Nykøbing Falster
Tilmeldt 17. Jul 08
Indlæg ialt: 5907
Fra  Casper Schneidereit A/S Skrevet kl. 23:02
Hvor mange stjerner giver du? :

Hvis dit dump ser sådan her ud:

Så er det i bund og grund bare at løbe linierne igennem, og eksekverer hver INSERT. Det er også nemt at spore fejl e.lign. da scriptet blot kan logge linie nummeret. Dump.sql fylder dog lidt mere end hvad den kunne, men hvis det drejer sig om 'lidt'  data så er det ikke noget problem i praksis.

Fra Mern
Tilmeldt 21. Apr 08
Indlæg ialt: 144
Fra  bar-udlejning.dk Skrevet kl. 23:02
Hvor mange stjerner giver du? :
Prøv lige at smid en or die(mysql_error()); ind i din query, måske giver det en mere håndterbar fejl..

Udlejning af bartendere til din fødselsdag, firmafest, julefrokost eller bryllup.

Fra København S
Tilmeldt 6. Jun 10
Indlæg ialt: 484
Fra  GetWebbed Skrevet kl. 23:09
Hvor mange stjerner giver du? :

Nicklas Wesche:
Prøv lige at smid en or die(mysql_error()); ind i din query, måske giver det en mere håndterbar fejl..

Ja den bliver ret meget mere læselig hehe:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_S' at line 11

Fra København
Tilmeldt 7. Jun 09
Indlæg ialt: 1662
Skrevet kl. 23:13
Hvor mange stjerner giver du? :

Hej Bo

Bo Gunnarson:

Hej Jesper,

Jeg har prøvet den her løsning, men den fejl jeg fik var ikke for børn tror jeg, den var meget lang! :P

Men du får den da lige her :P

Vi skal se et snit af din dump fil. Jeg antager den ser ud i stil med Caspers eksempel. Det bør den, dvs. en masse udtryk/statements adskildt af semikolon.

Derudover skal der lige tilføjes lidt ekstra til mit eksempel.

$sql = file_get_contents( filnavn );

$statements = explode(';', $sql);

foreach ($statements as $s) 

{ $result = mysql_query($s); if (!$result) echo "Der gik fuck i {$s} som resulterede i ". mysql_error()   . "men vi fortsætter udførslen. " . PHP_EOL; }

(ikke testet og du har formentlig brug for at lave en connection til databasen inden. )

Edit: Derudover kan der være tegnsæt og escape der skal tages højde for. Ligeledes tager min explode ikke højde for semikolon i kommentarer.

Folkeafstemning om Patentdomstolen

Fra København S
Tilmeldt 6. Jun 10
Indlæg ialt: 484
Fra  GetWebbed Skrevet kl. 23:18
Hvor mange stjerner giver du? :

Jesper:

Hej Bo

Bo Gunnarson:

Hej Jesper,

Jeg har prøvet den her løsning, men den fejl jeg fik var ikke for børn tror jeg, den var meget lang! :P

Men du får den da lige her :P

Vi skal se et snit af din dump fil. Jeg antager den ser ud i stil med Caspers eksempel. Det bør den, dvs. en masse udtryk/statements adskildt af semikolon.

Derudover skal der lige tilføjes lidt ekstra til mit eksempel.

$sql = file_get_contents( filnavn );

$statements = explode(';', $sql);

foreach ($statements as $s) 

{ $result = mysql_query($s); if (!$result) echo "Der gik fuck i {$s} som resulterede i ". mysql_error()   . "men vi fortsætter udførslen. " . PHP_EOL; }

(ikke testet og du har formentlig brug for at lave en connection til databasen inden. )

Edit: Derudover kan der være tegnsæt og escape der skal tages højde for. Ligeledes tager min explode ikke højde for semikolon i kommentarer.

Hej Jesper, jeg har prøvet det som du har skrevet, og der er semicolon i nogle af mine inserts. :(

Fra København S
Tilmeldt 6. Jun 10
Indlæg ialt: 484
Fra  GetWebbed Skrevet kl. 23:20
Hvor mange stjerner giver du? :

ups, ser ikke så godt ud herinde.

Fra København
Tilmeldt 7. Jun 09
Indlæg ialt: 1662
Skrevet kl. 23:29
Hvor mange stjerner giver du? :

Hej Bo

Du har et dump fra PhpMySQL og ... tja.... som andre skrev er det også brugbart til at importere med.

Tag dog et kig på en anden med samme problem:

http://dan.cx/blog/2006/12/restore-mysql-dump-using-php

Bemærk:

  • Der kan være problematikker omkring tegnsæt.
  • Afhængigt af hvad der sker først i dit dump (CREATE DATABASE eller ej) skal du selv lave/forbinde til databasen.
  • At jeg og andre kan cracke passworded til din administrator-konto udfra ovenstående, så skift password ;-D Vi kan ikke gætte hvad dit password rent faktisk er, men finde et der virker.

Folkeafstemning om Patentdomstolen

Side 2 ud af 3 (26 indlæg)