Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Nie można połączyć się z bazą
Forum PHP.pl > Forum > Przedszkole
tomi1985
Witam,

mam pytanie...

Kiedy nie można połączyć się z bazą mysql np. na wskutek konserwacji serwera...

to czy można przekierować jakoś stronkę na plik w którym wyświetli się komunikat np. Trwają prace konserwacyjne... smile.gif

  1. die('Could not connect: ' . mysql_error()); - tutaj tylko można wyświetlić tekst, że nie udało się połączyć z bazą


a ja bym np. chciał aby

die(include('blad.html')wink.gif; cos takiego biggrin.gif

jest takie coś możliwe...?

na zasadzie jak w pliku htaccass ustawiasz przekierowania do jakiegoś pliku przy błędzie np. 404
Wazniak96
  1. <?php
  2. die(header("Location:".$url));
  3. ?>

A jak wykorzystać w praktyce to już powinieneś wiedzieć wink.gif
tomi1985
ok, dzieki za pomoc smile.gif

ups... chyba coś zle dalem

  1. Cannot modify header information - headers already sent
  2.  
  3. mój kod:
  4.  
  5. $url = "blad_connet.html";
  6.  
  7. define('DB_HOST','xxx'); //Host bazy mysql
  8. define('DB_USER','xxx'); //Nazwa użytkownika
  9. define('DB_PASS','xxx'); //Haslo dla podanego użytkownika
  10. define('DB_DB','xxx'); // Nazwa bazy
  11.  
  12. $con = mysql_connect(DB_HOST, DB_USER, DB_PASS)
  13. or die(header("Location:".$url));
  14.  


co tu jest źle ?

błąd rozwiązany smile.gif użyłem buforowania smile.gif

  1. ob_start(); //rozpoczecie buforowania
  2.  
  3. $url = "blad_connet.html";
  4.  
  5. define('DB_HOST','xxx'); //Host bazy mysql
  6. define('DB_USER','xxx'); //Nazwa użytkownika
  7. define('DB_PASS','xxx'); //Haslo dla podanego użytkownika
  8. define('DB_DB','xxx'); // Nazwa bazy
  9.  
  10. $con = mysql_connect(DB_HOST, DB_USER, DB_PASS)
  11. or die(header("Location:".$url));
  12.  
  13. ob_end_flush(); //zakonczenie buforowania
czuwaj
Kiedyś to ja na forum zadawałem pytania, a teraz jeśli to ja znam odpowiedź to dlaczego by nie pomóc innym?
Bierz działający kod używam go przy wszystkich cms, które piszę działa!
  1. <?php
  2. /******************************************************
  3. * connect.php by czuwaj
  4. * konfiguracja połączenia z bazą danych
  5. ******************************************************/
  6. $mysql_server = 'localhost'; // to chyba jasne
  7. $mysql_admin = 'root'; // użytkownik
  8. $mysql_pass = 'pass'; // hasło
  9. $mysql_db = 'portfolio'; // nazwa bazy
  10. @mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
  11. or die('Brak połączenia z serwerem MySQL.');
  12. @mysql_select_db($mysql_db)
  13. or die('Błąd wyboru bazy danych.');
  14. ?>
Wazniak96
Czuwaj to co napisałeś nie jest niczym wyjątkowym, że działa. Praktycznie każdy początkujący to potrafi. W dodatku twoja odpowiedź nie jest odpowiedzią na pytanie, które zadał twórca tematu wink.gif

Proponowałbym przechodzić powoli na PDO, a nie bawić się jeszcze w mysql_*, stwarza większe możliwości, także w obsłudze wyjątków i w nowszych wersjach PHP mysql_* ponoć ma być wyłączone.
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.