Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wysyłanie pustego pliku do przeglądarki przy obsłudze wyjątków
albrzykowski
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 3
Dołączył: 5.02.2007

Ostrzeżenie: (0%)
-----


Witam,

Mam następujący problem, mam własną klasę do obsługi bazy danych i drugą raportującą błędy na zasadzie zapisania informacji o błędzie w bazie.

Oto fragment kodu gdzie skrypt zaczyna się dziwnie zachowywać (opiszę poniżej):
  1. <?php
  2. public function execute($query){
  3.                $this->result = mysql_query($query);
  4.                if($this->result!=FALSE){
  5.                        return $this->result;
  6.                }
  7.                else{
  8.                        throw new ExceptionHandler(_(__CLASS__.': query error: '.$query),3);
  9.                        return FALSE;
  10.                }
  11.  }
  12. ?>


Jeśli w zapytaniu pojawi się błąd, np. zwykła literówka na zasadzie brak ', wtedy zamiast uzyskania błędu w przeglądarce, lub zapisania go przez ExceptionHandler, serwer wysyła mi pusty plik PHP do sićgnięcia przez przeglądarkę (plik typu: application/x-httpd-php).

Jeśli zarzucę obsługę błedów własną klasą i klasycznie zrobie tak:
  1. <?php
  2. public function execute($query){
  3.                $this->result = mysql_query($query) or die(mysql_error);
  4. ?>

Skrypt zachowuje się już w bardziej oczekiwany sposób, tj. wyrzuca błąd i zatrzymuje się.

Proszę o sugestie i z góry dziękuję.

Ten post edytował albrzykowski 18.03.2009, 19:20:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
albrzykowski
post
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 3
Dołączył: 5.02.2007

Ostrzeżenie: (0%)
-----


Hej,

Napisze po kolei:

- 1 w configu, w wersji dev mam:
  1. <?php
  2. ini_set('display_errors',1);
  3. ?>


- 2 Jesli chodzi o continue, to rzeczywiście głupi błąd, z mojej strony, nie mniej nie pomogło mi w niczym jego usunięcie.
- 3 Wolałbym obsługę zapisywać w bazie a nie w pliku choć przyznam, że pod niektórymi względami plik może bardziej nadawałby się do tego...
- 4 Wyjątków nie chcę wyrzucać na ekran. Raportowane są tylko błędy "poważniejsze" np właśnie związane z DB i nie chce powiadamiać o nich, "zwykłych" userów.
Natomiast napisałeś ~Noddi, że nieprawidłowo wyłapuję wyjątki, byłbym wdzięczny jeśli byś to rozwiną i zasugerował inne rozwiązanie.

Z góry dzięki!!
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 06:45