Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PDO pytanie
breaked
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 20.10.2010

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


Witam,

Zaczynam uczyć się korzystać z PDO zamiast zwykłego mysql_*. Ułożyłem prostą klasę, żeby nie musieć pisać ciągle tego try ... catch. Nie wiem właśnie czy takie coś można stosować:

  1. class Database {
  2.  
  3. function __construct() {
  4. try {
  5. $pdo = new PDO(*****) //tu łączę się z bazą
  6. } catch(PDOException $e) {
  7. echo 'Error: '.$e -> getMessage();
  8. }
  9. }
  10.  
  11. function query($data) {
  12. try {
  13. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  14. $query = $pdo -> query($q);
  15.  
  16. return $query;
  17.  
  18. } catch(PDOException $e) {
  19. echo 'Error: '.$e -> getMessage();
  20. }
  21. }
  22. }


Czy takie coś ma w ogóle sens istnienia ?
Oraz czy w PDO trzeba kończyć, coś jak mysql_close ? I jeżeli tak to jak ?
No i jeszcze ostatnie: W powyższej klasie użyłem PDO::query. Wyczytałem, że jest jeszcze PDO::exec i PDO::prepare. Czym to się różni i które lepiej stosować ?

Pozdrawiam,
Michał
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. W PHP nie masz wymogu natychmiastowego przechwytywania wyjątku, więc nie musisz tego robić. Nic nie stoi na przeszkodzie by wyjątek został wyłapany przez jeden blok try..catch (gdzieś "wyżej"), wspólny dla wszystkich wywołań PDO::query().
2. Przechwytywanie wyjątku tylko po to by wyświetlić go na ekranie jest pozbawione sensu.
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: 29.12.2025 - 21:17