kaczy
24.07.2008, 08:53:47
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.
tomek_swat
24.07.2008, 09:02:12
kaczy
24.07.2008, 09:12:10
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 :/
mike
24.07.2008, 09:16:20
~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.
kaczy
24.07.2008, 09:19:50
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 :/
mike
24.07.2008, 09:30:19
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.
kaczy
24.07.2008, 09:34:44
Ahh no faktycznie tak też można

hehe... no ale od nie dawna się uczę. A można na przykład nie zapamiętywać tego połączenie w polu klasy bo chciałbym korzystać z klasy statycznie?
mike
24.07.2008, 09:44:17
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ę.
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.