Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Gotowa klasa do łączenia się z MYSQL przez PDO, MySQLi oraz MySQL
adrix88
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 16.11.2007

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


Witam. Ostatnio zabrałem się za pisanie klasy do obsługi połączeń MySQL i poszukując inspiracji w sieci znalazłem dosyć ciekawą klasę do obsługi baz w której możemy wybierać typ połączenia PDO, MYSQLi lub MYSQL, tego w sumie potrzebowałem. Napiszcie co myślicie o tej klasie, jest waszym zdaniem dobrze napisana? Czy może znacie jakieś inne gotowe sprawdzone klasy?

LINK DO KLASY

Ten post edytował adrix88 23.06.2011, 23:36:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adrix88
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 16.11.2007

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


Właśnie chyba nie do końca rozumiem działanie tych wyjątków. We wszystkich przykładach pokazana jest mniej więcej taka struktura kodu przy zapytaniach:

  1. try
  2. {
  3. $stmt = $pdo -> query('SELECT id, nazwa, opis FROM produkty');
  4. echo '<ul>';
  5. foreach($stmt as $row)
  6. {
  7. echo '<li>'.$row['nazwa'].': '.$row['opis'].'</li>';
  8. }
  9. $stmt -> closeCursor();
  10. echo '</ul>';
  11. }
  12. catch(PDOException $e)
  13. {
  14. echo 'Połączenie nie mogło zostać utworzone: '
  15. }


Powyższy przykład wydaje się bardzo niewygodny, ponieważ za każdym razem trzeba wywoływać bloki TRY. Nie można by tak zamykać całej strony w jednym wielkim bloku TRY? np. coś takiego:

  1. try
  2. {
  3. require('jakiesfunkcje.php');
  4. $stmt = $pdo -> query('SELECT id, nazwa, opis FROM produkty');
  5. echo '<ul>';
  6. foreach($stmt as $row)
  7. {
  8. echo '<li>'.$row['nazwa'].': '.$row['opis'].'</li>';
  9. }
  10. $stmt -> closeCursor();
  11. echo '</ul>';
  12.  
  13. $stmt = $pdo -> query('SELECT id, nazwa, opis FROM produkty');
  14. echo '<ul>';
  15. foreach($stmt as $row)
  16. {
  17. echo '<li>'.$row['nazwa'].': '.$row['opis'].'</li>';
  18. }
  19. $stmt -> closeCursor();
  20. echo '</ul>';
  21.  
  22. $stmt = $pdo -> query('SELECT id, nazwa, opis FROM produkty');
  23. echo '<ul>';
  24. foreach($stmt as $row)
  25. {
  26. echo '<li>'.$row['nazwa'].': '.$row['opis'].'</li>';
  27. }
  28. $stmt -> closeCursor();
  29. echo '</ul>';
  30. require('szablon_strony.php');
  31. }
  32. catch(PDOException $e)
  33. {
  34. echo 'Połączenie nie mogło zostać utworzone: '
  35. }


Czy powyższy kod będzie spełniać swoją funkcję i jest to poprawne rozwiązanie? Czy jednak muszę każde zapytanie ładować w oddzielny blok?

Ten post edytował adrix88 24.06.2011, 20:03:46
Go to the top of the page
+Quote Post

Posty w temacie
- adrix88   Gotowa klasa do łączenia się z MYSQL przez PDO, MySQLi oraz MySQL   23.06.2011, 22:02:19
- - Fifi209   Pisanie "nakładek" na mysql_ czy mysqli_...   23.06.2011, 22:19:23
|- - zegarek84   Cytat(Fifi209 @ 23.06.2011, 23:19:23 ...   23.06.2011, 22:44:41
|- - Fifi209   Cytat(zegarek84 @ 23.06.2011, 23:44:4...   23.06.2011, 23:08:08
|- - zegarek84   Cytat(Fifi209 @ 24.06.2011, 00:08:08 ...   23.06.2011, 23:17:53
- - adrix88   Generalnie chodzi mi właśnie o uniwersalność, żeby...   23.06.2011, 22:54:30
- - zegarek84   do pojedynczego zapytania może i PDO wolniej wypad...   23.06.2011, 23:00:16
- - adrix88   Widzę że dosyć dobrze ogarniacie PDO, bo ja to prz...   23.06.2011, 23:08:41
- - Spawnm   Masz bindowanie oraz execute   23.06.2011, 23:13:57
- - Fifi209   Transakcje Tyle w temacie transakcji.   23.06.2011, 23:21:26
|- - zegarek84   kiedy właśnie te minimum 3-5k rekordów minimum sta...   23.06.2011, 23:28:50
- - adrix88   Kurcze, porobiłem właśnie kilka zapytań PDO i musz...   23.06.2011, 23:40:25
- - Fifi209   Tak. magic_quotes - oby zniknęło jak najprędzej, t...   24.06.2011, 02:04:04
|- - zegarek84   Cytat(Fifi209 @ 24.06.2011, 03:04:04 ...   24.06.2011, 07:51:07
- - adrix88   Fifi209, a co w tym złego że jest 60 pól w tabeli?...   24.06.2011, 02:46:42
- - nospor   CytatIm większy projekt tym więcej danych i żebyś ...   24.06.2011, 07:40:22
|- - adrix88   Cytat(nospor @ 24.06.2011, 08:40:22 )...   24.06.2011, 15:52:08
|- - zegarek84   Cytat(adrix88 @ 24.06.2011, 16:52:08 ...   24.06.2011, 16:03:52
- - Fifi209   zegarek, wiesz dla chcącego nic trudnego, o czym m...   24.06.2011, 10:58:56
- - thek   Znasz strukturę zapytania? Znasz. To w czym jest t...   24.06.2011, 16:17:06
- - adrix88   Dzięki za odpowiedzi, są dla mnie bardzo pomocne. ...   24.06.2011, 17:41:33
- - Fifi209   Jeżeli wykonujesz 100 zapytań co odświeżenie to gr...   24.06.2011, 17:44:36
|- - adrix88   Cytat(Fifi209 @ 24.06.2011, 18:44:36 ...   24.06.2011, 17:54:30
- - Crozin   @adrix88: Wydajność, a tym bardziej czytelność ko...   24.06.2011, 18:00:59
- - adrix88   No niby można je wrzucić do osobnej tabeli, ale ni...   24.06.2011, 18:12:44
- - Crozin   Tak jak napisałem - jeżeli masz jakieś konkretne p...   24.06.2011, 18:35:47
- - adrix88   Hmm, ale jaki będzie tu wzrost wydajności jeżeli p...   24.06.2011, 18:59:06
|- - Fifi209   Cytat(adrix88 @ 24.06.2011, 19:59:06 ...   24.06.2011, 19:38:09
- - Crozin   Jak już napisałem - nie mamy informacji by określi...   24.06.2011, 19:25:26
- - adrix88   Rozumiem. Chodzi mi bardziej żeby taka nakładka mi...   24.06.2011, 19:36:38
- - adrix88   Właśnie chyba nie do końca rozumiem działanie tych...   24.06.2011, 20:02:13
- - Crozin   Podstawowa zasada związana z wyjątkami: przechwytu...   24.06.2011, 20:14:54
- - Fifi209   Swoją drogą w przykładach powinno być bardziej: [...   24.06.2011, 20:25:47
- - adrix88   Czyli rozumiem że nie ma różnicy czy utworzę 30 bl...   24.06.2011, 21:11:17
- - Crozin   Rozumiem pytasz czy jest jakaś różnica pomiędzy[PH...   24.06.2011, 21:22:41
- - adrix88   Super. Dzięki wielkie, właśnie o taką odpowiedź mi...   24.06.2011, 22:20:01
- - zegarek84   ale wizulanie lepiej by to wyglądało porównanie Ko...   24.06.2011, 22:46:29
- - thek   @adrix88: Odniosę się tylko do samej pętli, o któr...   24.06.2011, 23:34:22
- - adrix88   Hm.. No tak, tylko że mając na myśli zapytania w p...   24.06.2011, 23:54:49
- - Crozin   Od razu chciałbym uprzedzić że wszystko co jest na...   25.06.2011, 01:00:09


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

 



RSS Aktualny czas: 11.10.2025 - 09:17