Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dziedziczenie klas a wiele instancji, Obsługa MySQL
piotr94
post 17.10.2013, 23:12:56
Post #1





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


Witajcie!
Mam taką sytuację:
  1. class mysql{
  2. //tu zdefiniowane zmienne prywatne przechowujące m. in uchwyt połączenia
  3. //i wszystkie operacje na bazie także odwołujące się do tego uchwytu połączenia
  4. //w tym mysql_select_db();
  5. }
  6. class A extends mysql{
  7. //jakieś funkcje charakterystyczne dla tego zestawu odwołań
  8. }
  9.  
  10. class B extends mysql{
  11. //jakieś funkcje charakterystyczne dla tego zestawu odwołań
  12. }
  13.  
  14. $db1 = new A;
  15. $db2 = new B;


I w teorii moich przewidywań wszystko ślicznie - mam 2 połączenia z bazami danych (gdzie funkcje podstawowe zapewnia klasa mysql) i mogę się niezależnie do nich odwoływać.
Jednak efekt mnie nieco zaskoczył. W rzeczywistości odwołania do obiektu A (po takiej deklaracji) powodują korzystanie z połączenia ustanowionego przez konstruktor obiektu B... Tak jakby była tworzona tylko jedna instancja klasy mysql...
Bardzo proszę o pomoc i wyjaśnienie przyczyny takiego zachowania...

Z góry dziękuję za pomoc.
Pozdrawiam
PR


--------------------
http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;)
Go to the top of the page
+Quote Post
vermis
post 17.10.2013, 23:24:50
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


Nie wiem jak wygląda samo połączenie. Jeśli używasz mysql_connect to daj 4 parametr na true co wymusza ustanowienie nowego identyfikatora połączenia, w przypadku, gdy oba korzystają z tych samych argumentów. Rzuć okiem http://php.net/manual/en/function.mysql-connect.php
W przypadku, gdy łączysz się z dwiema bazami na tym samym serwerze Twój opis wskazuje że działa poprawnie, czyli korzysta z jednego połączenia.

Ten post edytował vermis 17.10.2013, 23:26:08


--------------------
Go to the top of the page
+Quote Post
piotr94
post 17.10.2013, 23:28:23
Post #3





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


Dzięki za naprowadzenie - strzał w 10 - śmiga teraz jak należy (na razie rzeczywiście testuję na tym samym serwerze - docelowo będą 3 serwery).


--------------------
http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;)
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: 10.12.2019 - 23:07