Mam dość poważny problem... Szukałem rozwiązania i znalazłem kilka tematów, ale jakoś nic nie działa nadal...
Otóż mam plik config.php z zawartością:
$db1_host = "adres"; $db1_user = "login"; $db1_pass = "password"; $db1_name = "baza";
Ten fragment powtarza się w tym pliku 4 razy z tym, że inaczej są numerowane... Potem są link2 i q2, link3 i q3, link4 i q4... Są trzy maszyny, na każdej jest baza. Na jednej z maszyn są dwie bazy i mam z nimi problem... Mam niby zapytania olinkowane, w skrypcie tak samo używam drugiego parametru $linkX za id połączenia, ale skrypt i tak pobiera sobie nie tą bazę co trzeba....
Przykładowo wygląda to tak:
$link1 = 1.1.1.1:baza1; $link2 = 1.1.1.1:baza2; $link3 = 2.2.2.2:baza1; $link4 = 3.3.3.3:baza1;
Zapytania wyglądają tak:
$query1 = ("SELECT `id`, `name` FROM `accounts` WHERE `id` = '".$id."'", $link1); $query2 = ("SELECT `id`, `ble` FROM `bleble` WHERE `id` = '".$id."'", $link2); ...
I wyskakuje mi błąd z zapytaniem $query1, bo nie może znaleźć tabeli accounts w bazie 'baza2'. Jak to pogodzić? :/
Jeśli komuś przeszkadza sposób w jaki to opisałem to sorki, chciałem to uprościć do maksimum, żeby nie zajmować miejsca...
Pozdrawiam.
//EDIT: Sprawdziłem coś i nawet w plikach gdzie nie używam $link2 skrypt wariuje bo bierze połączenie $link2 za $link1... Nie rozumiem już tego, bo są to osobne połączenia, osobno oznaczone. Przy wybieraniu bazy jest podany id połączenia czyli $q1 = @mysql_select_db($db1_name, $link1) i $q2 = @mysql_select_db($db2_name, $link2)...
Pomocy?
-------------------------------------
3 Wrzesień 2010 20:47
Sorry for double post...
Nikt nie zna odpowiedzi? Poproszę chociaż o jakieś wskazówki czy coś ;P Na razie to rozwiązałem poprzez wykonywanie zapytania mysql_select_db przed danym zapytaniem, ale jest to nie estetyczne i zajmuje miejsce, a na pewno jest inne wyjście... No i dlaczego linki się wiążą ze sobą? Przecież dla każdego jest nadany inny identyfikator, a przy mysql_select_db podaję drugi dodatkowy argument - ID połączenia...
Pozdrawiam.