Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Klasa PHP do obsługi mySql
Woytek950
post 4.06.2010, 13:36:12
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 2
Dołączył: 6.06.2008
Skąd: jesteś ?

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


Witam. Napisałem klasę do obsługi bazy mysql i chciał bym zasięgnąć Waszej opini co poprawić, co zmienić i czy Waszym zdaniem taka klsa jest logiczna.
przykład użycia:

plik mysql.class.php
  1. <?php
  2. // Klasa do obsługi bazy danych mysql
  3. // Nazwa klasy: MySql;
  4. // Plik z klasą: mysql.class.php
  5.  
  6. class MySql
  7. {
  8. public function MySql($host, $user, $pass, $db)
  9. {
  10. @mysql_connect($host,$user,$pass) or die("<div>Blad polaczenia MySql.</div><br/><i>".mysql_error()."</i>");
  11. @mysql_select_db($db) or die("<div>Blad wyboru bazy MySql.</div><br/><i>".mysql_error()."</i>");
  12. }
  13.  
  14. public function getRows($query)
  15. {
  16. $qu = mysql_query($query) or die("<div>Blad zapytania MySql.</div><br/><i>".mysql_error()."</i>");
  17. while($row = mysql_fetch_assoc($qu))
  18. {
  19. $arr[] = $row;
  20. }
  21. }
  22.  
  23. public function getNumRows($query)
  24. {
  25. $qu = mysql_query($query) or die("<div>Blad zapytania MySql.</div><br/><i>".mysql_error()."</i>");
  26. return mysql_num_rows($qu);
  27. }
  28. // Koniec klasy
  29. }
  30.  
  31. ?>
  32.  

plik index.php
  1. $mysql = new MySql('localhost','root','krasnal','cms');
  2. $tpl->assign("jakaspetla", $mysql->getRows('SELECT * FROM menu'));
  3.  

plik index.tpl
  1. {loop name="jakaspetla"}
  2. <a href="{$value[alias]}">{$value[name]}</a><br />
  3. {/loop}


Go to the top of the page
+Quote Post
erix
post 4.06.2010, 13:38:16
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. getRows niczego nie zwraca
  2. błędy wracają do gości
  3. wyciszanie błędów zamiast logowania
  4. zliczasz rekordy pamięciożerną metodą
  5. brak wyjątków


Chyba nie ma sensu tego używać...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Woytek950
post 4.06.2010, 15:56:01
Post #3





Grupa: Zarejestrowani
Postów: 130
Pomógł: 2
Dołączył: 6.06.2008
Skąd: jesteś ?

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


Poprawiłem troche. Chciał bym poinformować że to moja pierwsza klasa...


getRows niczego nie zwraca - było dobrze tylko nie skopiowalem.
błędy wracają do gości - w jaki sposób to z mienić?
wyciszanie błędów zamiast logowania - w jaki sposób to zmienić?
zliczasz rekordy pamięciożerną metodą - w jaki sposób to zmienić?
brak wyjątków - w jaki sposób to zmienić?

mam zamiar ją rozbudowac, to narazie początek

Ten post edytował Woytek950 4.06.2010, 15:56:46
Go to the top of the page
+Quote Post
erix
post 4.06.2010, 16:56:23
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
getRows niczego nie zwraca - było dobrze tylko nie skopiowalem.

Nadal nie jest dobrze.

Cytat
błędy wracają do gości - w jaki sposób to z mienić?

Poczytaj o set_error_handler albo napisz odpowiednie metody logujące błędy.

Cytat
wyciszanie błędów zamiast logowania - w jaki sposób to zmienić?

Małpy dopisałeś bezmyślnie?

Cytat
zliczasz rekordy pamięciożerną metodą - w jaki sposób to zmienić?

Poczytać o funkcjach agregujących w SQL.

Cytat
brak wyjątków - w jaki sposób to zmienić?

Poczytać i zrozumieć, po co są wyjątki.

Cytat
mam zamiar ją rozbudowac, to narazie początek

Tylko czy jest sens pisać N-ty raz to samo...?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Woytek950
post 4.06.2010, 19:01:08
Post #5





Grupa: Zarejestrowani
Postów: 130
Pomógł: 2
Dołączył: 6.06.2008
Skąd: jesteś ?

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


Tak, ponieważ się ucze i to moje pierwsze kroki w OPP.
Go to the top of the page
+Quote Post
zend
post 4.06.2010, 21:44:13
Post #6





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Ta klasa praktycznie nic nie wnosi do kodu, jedynie dodatkową niepotrzebną abstrakcję. Dorzuć do niej metody typu insert, update, delete, select, to już będzie lepiej
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 13.08.2025 - 22:44