Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa do obsługi mySQL.
boosik01
post
Post #1





Grupa: Zarejestrowani
Postów: 91
Pomógł: 1
Dołączył: 19.08.2009

Ostrzeżenie: (10%)
X----


Witam! Od 5 dni uczę się OOP. Pewnie jak każda osoba która uczy się OOP naukę rozpoczyna przy pisaniu klasy do obsługi mysql.
No więc i tak ja też uczyniłem. Chciałbym byście spojrzeli na moją klasę i postarali się jakoś mi pomóc (co dodać, poprawić etc.)
Chcę napisać jeszcze klasę do zapisywania logów z błędów, i tu pojawia się pytanie czy w OOP zapisywanie do pliku jest normalnie za pomocą funkcji
fwrite() czy też jest jakaś inna funkcja bardziej nadająca się do tego typu operacji.

PS. Pod klasą dałem utworzenie obiektów, bo nie chciało mi się robić już tego w osobnych plikach.
  1. <?php
  2. /**
  3.  * Prosta klasa obsługi bazy danych MySQL
  4.  * Author: boosik01
  5.  * (c) 2011
  6.  */
  7. class mySQL
  8. {
  9. private $sConfig ;
  10.  
  11. public function __construct($sConfig = '')
  12. {
  13. if(!$sConfig)
  14. {
  15. $this->host = $sConfig = 'localhost' ;
  16. $this->user = $sConfig = 'root' ;
  17. $this->pass = $sConfig = '' ;
  18. $this->db = $sConfig = 'test' ;
  19.  
  20. if(!@$this->connect = mysql_connect($this->host, $this->user, $this->pass))
  21. throw new Exception ('Nie można połączyć się z bazą danych! ' . mysql_error() );
  22. if(!@mysql_select_db($this->db))
  23. throw new Exception ('Błąd wyboru bazy danych! ' . mysql_error());
  24. }
  25. else
  26. {
  27. $sConfig == NULL ;
  28. }
  29. }
  30.  
  31. public function __destruct()
  32. {
  33. mysql_close($this->connect) ;
  34. }
  35.  
  36. public function mysql_fetch_array($mysql_query)
  37. {
  38. $this->mysql_query = $mysql_query ;
  39. if(!@$this->mysql_query = mysql_fetch_array(mysql_query($this->mysql_query)))
  40. throw new Exception ('Wystąpił błąd w wyświetlaniu / lub UPTADE danych. ' . mysql_error());
  41. return $this->mysql_query ;
  42.  
  43. }
  44.  
  45. public function query($query)
  46. {
  47. $this->query = $query ;
  48. if(!@$this->query = mysql_query($this->query))
  49. throw new Exception ('Wystąpił błąd w konstrukcji zapytania. ' . mysql_error()) ;
  50. return $this->query ;
  51. }
  52. }
  53.  
  54. try
  55. {
  56. $new = new mySQL() ;
  57. $dane = $new->query("INSERT INTO users SET user='boooooo'") ;
  58. echo $dane['user'] ;
  59. }
  60. catch (Exception $error)
  61. {
  62. echo 'Wystąpił błąd. Administracja została już o tym poinformowana. Przepraszamy za kłopoty.' ;
  63. $sError = '<b>Komunikat</b>: '.$error->getMessage().'<br /><b>Plik</b>: '.$error->getFile().'<br /><b>Wiersz</b>: '.$error->getLine();
  64. }
  65.  


Ten post edytował boosik01 30.05.2011, 18:39:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Nie zaczynaj od pisania, zacznij od czytania / przeglądania gotowych już komponentów.

Tematów na temat `[Ocena]Moja super klasa do obsługi baz danych` było mnóstwo i w kilku niektórzy znaleźli trochę czasu i napisali wiele porad jak taka klasa w ogóle powinna wyglądać, a najlepiej przejrzyj sobie źródła już istniejących modułów do obsługi baz danych, jak np. PDO o którym już wspomniał wookieb.

P.S. Kod to nie ZOO, więc małpą mówimy NIE, szczerze aż dziw bierze że to jeszcze istnieje i jest używane _^_.

Ten post edytował melkorm 30.05.2011, 19:19:42
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: 10.10.2025 - 13:58