![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Muszę jednocześnie odwołać się do dwóch różnych baz znajdujących się na tym samym serwerze dodam ze pracuję na ms sql. Wygląda to mniej więcej tak: <?php require_once('class/mssql.class.php'); $baza2 = new MsSQL('BAZA_1'); $select = "select * from ......."; $wynik = $baza2->select_query($select); zwórcone dane jeszcze obraciam i teraz zaczynają się schody... unset($baza2); $baza3 = new MsSQL('BAZA_1'); $baza_mssql = new MsSQL('BAZA_2'); poniżej wykonywana jest pętla która pobiera dane obrobione z pierwszego selecta wykonuje inserty do BAZA_2 jeszcze musi pobrać dodatkowe dane z BAZA_1 by uzupełnić inserty o aktualne dane. I tu zaczynają się problemy ponieważ tą klasę którą mam napisaną łączy się jedynie z JEDNĄ BAZĄ czyli połączenia są nadpisywane w tej kolejności połączeń jak jest pokazane wyżej połączenie z BAZA_1 nie istnieje. Poniżej załączyłem całą klasę która łączy się z bazą: Zrobiłem jeszcze jedną rzecz skopiowałem tą klasę pod inną nazwą ale też nie pomogło jako zupełnie inny plik też nic. Jest jakiś sposób by to zrobić?
Ten post edytował Artur_R 24.11.2013, 13:20:52 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 55 Dołączył: 19.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod $baza3 = new MsSQL('BAZA_1'); $baza_mssql = new MsSQL('BAZA_2'); ale inicjujesz z jednej klasy ... czasami nie powinno być tak: Kod $baza3 = new MsSQL('BAZA_1');
$baza_mssql = new MsSQL2('BAZA_2'); -------------------- Polecam MyDevil hosting idealny dla deweloperów
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
też tak próbowałem i nie pomogło
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 55 Dołączył: 19.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
no to musisz zmodyfikować swoją classe i uwzględnić new_link ( man )
-------------------- Polecam MyDevil hosting idealny dla deweloperów
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Przerobiłem to tak:
odwołuje się do konstruktowa w ten sposób : $baza2 = new MsSQL("BAZA1", "BAZA2"); sprawdziłem przekazuje parametry ale dalej jest wykonywane zawsze pierwsze połączenie. Selecty dla drugiego połączenia zostają bez echa..... Nie wiem jak to zrobić... Ma ktoś jakiś pomysł ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że lepiej operować na samych $this->db i $this->db2 a do konstruktora nic nie przekazywać.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Przypisałem nawet na sztywno obie baz do db i db2 i dalej łączy się tylko z pierwszą bazą drugą pomija..... Mógłbym prosić o jakiś przykład bo już rozkładam ręce pomału.......
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 24.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
w ten sposób nie próbowałem zaraz to sprawdzę dzięki za podpowiedź :-)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:34 |