![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 2.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym się dowiedzieć jak zrobić aby połączenie z bazą danych występowało tylko raz w skrypcie. W manualu znalazłem że można podać 4 parametr w mysql_connect ale testowałem to i za każdym razem gdy łącze się na stronie 2 razy z baza to połączenie następuje też 2 razy.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 3.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
może o to Ci chodzi
http://pl2.php.net/manual/pl/function.mysql-pconnect.php |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 2.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wygląda na to że jest ok, ale wyczytałem że może powodować jakieś problemy i przy dużej ilości połączeń jakaś cześć z nich nie będzie mogła się połączyć. Może znacie jeszcze jakieś inne sposoby?
![]() ---------------------- Poprawka: sprawdziłem w skrypcie i dalej 2 razy nawiązuje połączenie :/ Ten post edytował kaczy 24.07.2008, 09:15:01 |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
~kaczy jeśli wykonujesz daną funkcję n razy to nie dziw się, że wykona się on ... n razy.
Jeśli chcesz być pewien, że połączenie będzie nawiązane raz to raz wykonaj mysql_connect(). Nie ma innego sposobu. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 2.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ale chodzi mi o to że robię sterownik do bazy i połączenie ma następować podczas gdy wywołam funkcje z klasy, np. $bazaDanych->pobierz(), a co gdy wywołan na tej samej stronie funkcje $bazaDanych->dodaj(). Połączenie z bazą zostanie nawiązane ponownie :/
|
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
A dlaczego chcesz łączyć się z bazą dancyh przy każdej operacji? Przecież to nie ma sensu.
Połącz się raz podczas konstruowania obiektu $bazaDanych, przekaż połączenie do pola obiektu i korzystaj z tego później. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 2.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ahh no faktycznie tak też można
![]() ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz statycznie to również trzymasz wewnątrz klasy. Pole klasy może być również statyczne.
Poczytaj na początek o Singletonie, przyda Ci się. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 22:29 |