Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Czy to dobre rozwiązanie?
Forum PHP.pl > Forum > PHP
deirathe
Czy to dobra praktyka żeby przy każdym zapytaniu do bazy łączyć się z nią i zaraz po zapytaniu rozłączać się z bazą?
Np chcę pobrać dane z pewnej tabeli, to w metodzie pobierającej dane mam:
  1. <?php
  2. class SomeTest
  3. {
  4. ...
  5.  
  6.    public function pobierzDane()
  7.    {
  8.        Db->connect();
  9.        Db->query($query);
  10.        Db->close();
  11.    }
  12. ...
  13. }
  14. ?>


Co o tym myślicie?
Pawel_W
hmm, ale po co ci coś takiego?
przecież to na pewno opóźnia zakończenie skryptu
skowron-line
No raczej słaba za każdym razem chcesz się łączyć z baza questionmark.gif
deirathe
No właśnie dlatego pytam, bo sobie przeglądam ORM Rocks czy coś takiego zaglądam w źródła a tam takie cuda, to myślę sobie głupota, i stąd moje pytanie bo może to jakaś nowa jakość? tongue.gif

A jeszcze jedno pytanie, może ktoś będzie wiedział. Jak mamy jakiś ORM i powiedzmy są tam relację 1 do wielu i pobieramy kilka rekordów, to jak pobierane w takim ORMie są rekordy z relacji? Czy jest jedno zapytanie i dane są jakoś dzielone i tworzone są klasy.
Czy może jest najpierw zapytanie pobierające wierzchnie dane, a później w pętli dla każdego z rekordów zapytanie o resztę która jest w relacji z danym rekordem?
skowron-line
No raczej to by było dość głupię jak by w pętli pobierał powiązane rekordy.
  1. SELECT .. JOIN

na 99%
deirathe
Skoro 99% pewności to wciągam to jako wiedzę biggrin.gif Dzięki
Chyba będę musiał przyjrzeć się kodom propela- nie lubię takich zabaw :/
Gelio
Polecam zrobienie konstruktora klasy, który będzie łączył się z bazą, a w destruktorze rozłączał. Wtedy funkcje wywołują tylko same zapytania.

Pozdrawiam,
Gelio
deirathe
nihli novi. Ja nie pytałem o to jak to rozwiązać tylko czy rozwiązanie ukazane w tamtej paczce jest dobre. Koniec wątku!
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.