[PHP] Obsluga wyjatkow i bazy danych

Hej!

Ostatnio zainteresowałem się obsługa wyjątków w php bo jest mi to potrzebne w pewnym projekcie. i czytam czytam no ale coś mi sie to troche śmieszne wydaje ponieważ (z tego co pamiętam) w delphi jak się robiło to try to jakikolwiek błąd i wywalo i byl sw. spokój a tutaj musisz urzyc tego throw exception i moje pytanie PO CO TO? przecież równię dobrze mogę zrobić echo “bla bla bla błąd”; A po za tym mam taki kod:

$sql = "SELECT * FROM `plasadyers` WHERE players_id = '1';"; //tutaj specjalnie wywoływany błąd (nie ma takiej tabeli)

try {

$query = mySQL_query($sql);

}

catch( Exception $Ex ) {

   echo 'Wystąpiły problemy!'."\n";

   echo '',$Ex,'';

}

i oczywiście nie działa :confused: mógł by mnie ktoś oświecić?

Pozdrowienia Synt

działa jak należy. mysql_query() nie może wyrzucać żadnych wyjątków, bo nie została tak skonstruowana. możesz samodzielnie wymusić wyrzucenie wyjątku np.

try {

$query = myslq_query($sql) or threw new Exception("błąd zapytania");

}

catch( Exception $e ) {

echo $e->getMessage();

}

OK thx za cynk :slight_smile: ale znow nie dziala :confused:

try {

	$query = myslq_query($sql) or throw new Exception("błąd zapytania");

}

Zorientowałem się ze powinno być throw i literówka w mysql ale nadal nie działa oO. Ale nadal nie działa :confused: Czyli mam taki kod:

$sql = "SELECT * FROM `plasadyers` WHERE players_id = '1';";

		try {

			$query = mysql_query($sql) or throw new Exception("błąd zapytania");

		}

		catch( Exception $e ) {

			echo $e->getMessage();

		}

no tak, bo bez zastanowienia pisałem…

$sql = "SELECT * FROM `plasadyers` WHERE players_id = '1';";

      try {

         $query = mysql_query($sql);

         if( $query === false )

             throw new Exception("błąd zapytania");

      }

      catch( Exception $e ) {

         echo $e->getMessage();

      }

Aha OK thx za chwile sprawdzę.

Wszystko śmiga wielkie dzięki! (po raz któryś xD)