Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Tworzenie i zamykanie połaczenia mysql a wydajność
Forum PHP.pl > Forum > Przedszkole
jmp
Witam,

Stworzyłem sobie klase Mysql do operacji na bazie danych w założeniu ma być to taka biblioteka którą będe sobie rozwijał i używał w róznych aplikacjach.

I teraz moje pytanie czy otwieranie połaczenia i zamykanie w każdej funkcji jest dobrym pomysłem czy raczej lepiej zrobić to na początku i na końcu pliku.
Bo zastanawia mnie wydajnośc takiego rozwiązania i wydaje mi się być jednak nie najlepsza.

  1. function Createnews($tresc, $tytul,$lg)
  2. { $data = date('Y.m.d');
  3. $ap = new Mysql;
  4. $ap->Connect();
  5. $ap->Query("insert into news values(0,'$tytul','$tresc','$data','$lg')");
  6. $ap->Close();
  7. }


I może jeszcze jakieś rady co samej klasy bo jednak są to moje poczatki programowania obiektowego.
Co można by tu wykonać lepiej a co już zrobiłem źle mimo że wszystko działa. (uprzedzam przy okazji że do przetwarzania danych od urzytkownika bedzie osobna klasa temu nie ma tu zabezpieczeń)
  1. <?php
  2.  
  3. class Mysql
  4. {
  5.  
  6. private $handle;
  7. public $result;
  8. public $row;
  9.  
  10. public function Connect()
  11. {
  12. $handle = mysql_connect('localhost','root','tajne') or die ('Could not connect: '.mysql_error());
  13. $handle = mysql_select_db('work') or die ('Could no select database');
  14. //echo "ok";
  15. }
  16. public function Query($param)
  17. {
  18. // sprawdzanie zapytania
  19. $this->result = mysql_query($param);
  20.  
  21. }
  22. public function Mf_assoc($row_name)
  23. {
  24. while($txt = mysql_fetch_assoc($this->result))
  25. {
  26. $this->row = $txt[$row_name];
  27. }
  28.  
  29. }
  30.  
  31. public function Close()
  32. {
  33. mysql_close(); // mysql_close($handle);
  34. }
  35. }
  36.  
  37.  
  38. ?>


Pozdrawiam
jmp
nospor
Obiekt klasy do obslugi bazy ma byc tworzony TYLKO RAZ. POłączenie z bazą ma sie robic TYLKO RAZ jak rownież TYLKO RAZ zakonczenie połączenia
Pyton_000
Porównaj sobie to małego sklepiku gdzie tłumnie ludzie przychodzą. Co będzie wydajniejsze, otwieranie i zamykanie przez każdego klienta (sql query) drzwi (kolejka przed sklepem ogromna) czy otwarcie ich i zamknięcie na koniec pracy sklepu (skryptu)

Fantazja mnie lekko poniosła wink.gif

CO do samej klasy to zdecydowanie Singleton i nie mysql_
phpion
Z tym singletonem to możnaby się kłócić wink.gif
Pyton_000
Nie będę się tu produkował czego by tu można użyć, Singleton w zupełności wystarcza, biorąc po uwagę poziom wiedzy autora i doświadczenie. smile.gif (oczywiście nie obrażam tu nikogo intelektualnie żeby nie było.)
jmp
Dzięki za pomoc sytuacja mi się rozjaśniała teraz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.