Avatar billede bacce.dk Nybegynder
27. november 2005 - 21:08 Der er 20 kommentarer og
1 løsning

fopen problem

hejsa

Jeg har linien

$leas = fopen('sqldump.$row[mappe].sql', 'r');
i min kode... den skal læse en sqldump fra en database... problemet er at lige meget hvordan jeg skriver den, så får jeg blot en Resource id #9 og intet andet... hvad gør jeg galt ???
Avatar billede bacce.dk Nybegynder
27. november 2005 - 21:09 #1
rettelse

den ser sådan her ud nu...
$leas = fopen("sqldump$row[mappe].sql", 'r');

filen har chmod sat til 777 så det skulle ikke være problemet...
Avatar billede jakobdo Ekspert
27. november 2005 - 21:11 #2
Er du sikker på denne: sqldump$row[mappe].sql er korrekt?
Avatar billede erikjacobsen Ekspert
27. november 2005 - 21:11 #3
Avatar billede jakobdo Ekspert
27. november 2005 - 21:13 #4
Du kan evt også lige teste din kode med:
$file = "sqldump" . $row['mappe'] . ".sql";
echo "File hedder: " . $file . "<br>";
$leas = fopen($file, "r");
Avatar billede bacce.dk Nybegynder
27. november 2005 - 21:22 #5
Jakobdo>> ja jeg er sikker på at den er korrekt.
Jeg starter med at hente den med wget derefter giver jeg den chmod til 777 (for at være sikker) og til sidst skal jeg læse indholdet så det kan smides i db....

Jeg har testet dit forslag og den skriver også det rigtige navn ud, dog får jeg stadig samme fejl ;-((
Avatar billede jakobdo Ekspert
27. november 2005 - 21:25 #6
Altså $leas indeholder jo en resource.
Du skal jo så bruge fread...
Men som erik er inde på, så er file_get_content nok letteste løsning for dig.
Avatar billede bacce.dk Nybegynder
27. november 2005 - 21:28 #7
okey.. skal indrømme at jeg ikke har meget forstand på at lege med filer.. propper ALT i db og har altid gjort det...

Hvad skal jeg så gøre med det bagefter ???
file_get_content kan jeg ikke lige genemskue fra php.net
Avatar billede jakobdo Ekspert
27. november 2005 - 21:32 #8
$dinSQL = file_get_content("sqldump$row[mappe].sql");

Nu vil $dinSQL indeholde alt hvad der er i filen...
Avatar billede bacce.dk Nybegynder
27. november 2005 - 21:43 #9
okok tror jeg har fået den til at få dataen frem med fopen... men får stadig en fejl.. dog en ny

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 ';
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 S' at line 7
begge myssql servere er same version... nemlig 4.1.14 så kan ikke lige fatte problemet...
Avatar billede jakobdo Ekspert
27. november 2005 - 21:46 #10
Hvor kommer koden: !40101 fra?
Avatar billede bacce.dk Nybegynder
27. november 2005 - 21:46 #11
det er noget mysql selv har skrevet i filen da jeg lavede dump af databasen..
Avatar billede bacce.dk Nybegynder
27. november 2005 - 21:47 #12
den er lidt ligesom frontpage... smider en masse lort ind som ikke skal bruges ;-)
Avatar billede jakobdo Ekspert
27. november 2005 - 21:48 #13
Jeg står af nu, kender ikke rigtigt til export/import, så jeg kan desværre ikke hjælpe mere.
Avatar billede erikjacobsen Ekspert
27. november 2005 - 22:12 #14
Udfører du tekstfilen (dumpet) med mysql_query har du problemer, da en kun kan klare een sætning af gangen. Du har flere med ";" imellem.
Avatar billede bacce.dk Nybegynder
28. november 2005 - 07:02 #15
Erirjacobsen>> Ja det bliver skudt af i en mysql_query(), men hvad kan man så bruge i stedet ???
Avatar billede bacce.dk Nybegynder
30. november 2005 - 22:09 #16
okey.. har testet begge jeres foreslag.. de virkede efter hvad jeg spurgte om, dog kunne det ik bruges til mit problem, men det var min metode der ikke virkede.....

svaret på import af dump er...

$sql = "mysql -h$DB_HOST -u$DB_USERNAME -p$DB_PASSWORD $dbname < $file";
    exec($sql);

Gider i svare begge 2 ?? jeres svar var korrekte på mit spørgsmål...
Avatar billede erikjacobsen Ekspert
30. november 2005 - 22:10 #17
Jeg samler slet ikke på point, tak.

mysql-programmet deler såmænd bare op mellem de relevante ";"-er
Avatar billede jakobdo Ekspert
30. november 2005 - 22:45 #18
Svar!
Avatar billede bacce.dk Nybegynder
30. november 2005 - 22:52 #19
erik.... naa ikke helt...
Det prøvede jeg selv med explode() og det fejlede, da der var tabeller med ";" i...

Jeg samler nu heller ikke på point... men derfor skal mn jo have dem, når man har hjulpet (Min mening)...

Men tak for hjælpen begge to...
Avatar billede erikjacobsen Ekspert
30. november 2005 - 23:06 #20
Ja,  relevante ";"-er  -  det er det, der er det svære. Regn forøvrigt ikke med at du alle steder kan køre "mysql" med en "exec".
Avatar billede bacce.dk Nybegynder
30. november 2005 - 23:08 #21
naa men nu er det jo kun på mine egen servere... der bestemmer jeg jo selv hvad jeg kan og ikke kan... ;-)
tror ikke der er mange webhoteller der ville acceptere den...
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