![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 137 Pomógł: 0 Dołączył: 9.11.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Dzisiaj natrafiłem na dziwny przypadek z połączeniem sie do dwóch baz w skrypcie, poniżej przedstawie wycinku kodów, plików struktury aplikacji i opis problemu.
Po pierwsze mamy sobie plik SQL_CONNECT.inc w tym pliku mamy miedzy innymi:
w drugim pliku Test.php
Problem jest w tym i nie wiem dlaczego tak się dzieje że jak np odpale ten plik Test.php to oczekiwałbym wyswietlenia dwóch tablic z rekordem kazda z innej bazy brana, niestety działanie jest takie ze tylko jedna tablica zostaje zwrocona zamiast kolejnej tablicy z wynikiem dostaje komunikat ze nie ma takiej kolumny. Oczywiście odpowiednie kolumny w danych bazach sa i teraz np jak zamienie kolejnoscią dwie linijki w taki sposób:
to wówczas otrzymuje znowu jedna tablice z wynikiem tylko tym razem z innej bazy a drugi blad ze nie ma kolumny w bazie. Zauważyłem że wykonywane poprawnie jest to zapytanie gdzie polaczenie jest na koncu czyli np jesli $mysql1 jest jako drugie w kolejnosci to wlasnie oba zapytania beda wykonane na tek bazie ,jesli z koleji przestawie kolejnosc i dam jako drugie $mysql2 to wowczas z tej walsnie bazy bedzie wkonane dwa zapytania, pomimo tego ze sa osobne dwa polaczenia przypisane do dwóch różnych obiektów. Dlaczego tak się dzieje? Co zmienić by można bylo bez większych przeróbek zrealizowac polaczenie dwóch tych baz i zapytan by bylo ok. Zaznaczam ze jest to mocno przerobiony kod ktory w rzeczywistosci jest w aplikacji w celu przedstawienia problemu i uproszczenia maksymalnie ilosci wystepowania plików. Za wszelkie uwagi i pomoc będę wdzięczny.. p.s. zapomnialem dopisac paru znaków ' , edytowalem posta i poprawialem to ale jakos i tak sie nie zmienia na stronie pozdro haryb Już nieaktualne, znalazłem sam rozwiązanie -> dopisywanie identyfikatora połączenia do mysql_query jak tego nie było a było wiecej połączeń niż jedno, to brał domyślnie ostatni wygenerowany identyfikator. Ten post edytował haryb 28.08.2008, 18:16:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:04 |