Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwny błąd
Forum PHP.pl > Forum > Przedszkole
slaug
Napisałem sobie coś takiego:

  1. <?php
  2.  
  3. $data=date(&#092;"d-m-Y\");
  4. if (exec(&#092;"C:mysqlbinmysqldump --opt sigma > a:sigma-\".$data.\".sql\")) echo 'lala';
  5. echo 'blad';
  6.  
  7. ?>


co robi mi zrzut całej bazy. Napisałem też skrypt który to potem wczytuje, ale mniejsza o to. Wszystko działa, tzn robi zrzut i potem go poprawnie wczytuje. Czyli tak jak chcę.

Natomiast mój problem jest bardziej prozaiczny. Dlaczego skoro wykonuje sie polecenie exex... nie wyświetla się: lalala: tylko blad.

Jak zrobić sprawdzanie żeby wyświetlał to poprawnie.

Jeżeli możecie to proszę o szybką odpowiedź, najlepiej przed 16 winksmiley.jpg

Będe baaardzo wdzięczny.

pozdrawiam,
Daniel
BENY_PL
"blad" wyświetli ci się zawsze bo nie należy ono do żadnego warunku.
Nie wiem co zwraca
Kod
exec("C:\mysql\bin\mysqldump --opt sigma > a:\sigma-".$data.".sql")

ale podejrzewam że T/F, więc warunek powinien wyglądać tak:

  1. <?php
  2.  
  3. $data=date(&#092;"d-m-Y\");
  4. if (exec(&#092;"C:mysqlbinmysqldump --opt sigma > a:sigma-\".$data.\".sql\")){ echo 'lala';} else {
  5. echo 'blad'; }
  6.  
  7. ?>
rogrog
Cytat
exec() executes the given command, however it does not output anything. It simply returns the last line from the result of the command.


co znaczy że funkcja zwraca ostatnią linię z wyniku zwróconego przez komendę... no więc najwyraźniej mysqldump nic nie zwraca (bo przecież kieruje output do pliku) albo i zwraca, ale ostatnia linia jest pusta... w tym wypadku mamy

  1. <?php 
  2. if('') echo 'lala';
  3. else echo 'blad';
  4. ?>


no i kończy się wyświetleniem błędu.

ja ostatnio akrut też robiłem backup i zrobiłem to tak:

  1. <?php
  2. exec ( &#092;"D:FoxServmysqlbinmysqldump --opt -h$db[host] -u$db[login] -p$db[haslo] $db[name]>$filename\" );
  3.  
  4. if( @filesize ( $filename ) > 0 ){
  5.  
  6. echo &#092;"Backup powiódł się.\";
  7.  
  8. } else { 
  9.  
  10. echo &#092;"UWAGA! Backup nie powiódł się!.\";
  11.  
  12. }
  13.  
  14. ?>


filesize() można zastąpić file_exists() ale ja tam miałem też takie problemy że plik był tworzony ale był pusty więc zostawiłem file_size() aby się upewnić że plik coś zawiera smile.gif
slaug
Wielkie dzięki rogrog. Błąd wynikał dokładnie z tego co napisałeś. Dziwne, bo czytałem o tej funkcji w manualu, czytałem to zdanie, które napisałeś, a jakoś jak pisałem uszło to mej uwagi.

No ale na szczęście odsiecz z twojej strony nadeszła szybciutko i wszystko ładnie działa winksmiley.jpg

Jeszcze raz, wielkie dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.