Połączenie domyślnej bazy PHP-Fusion z drugą zwykła bazą


(WooQash) #1

Witam. Po aktualizacji PHP-Fusion do wersji 7.02.01 z 7.01.03 mam problem z połączeniem dwóch baz danych. W starszej wersji wystarczyło, że w pliku maincore.php dodałem

function dbconnect2($db_host2, $db_user2, $db_pass2, $db_name2) {   global $db_connect2; = @mysql_connect($db_host2, $db_user2, $db_pass2);   $db_select2 = @mysql_select_db($db_name2);   if (!$db_connect2) {      die("
Unable to establish connection to MySQL");   } elseif (!$db_select2) {      die("
Unable to select MySQL database");   }[/code]

Kliknij i zaczekaj na załadowanie kodu ...

po dopisaniu danych w pliku config.php.



Później chcąć wywołać dawałem po prostu


[code=php]$link2 = dbconnect2($db_host2, $db_user2, $db_pass2, $db_name2);



, a chcąc wrócić do popszedniej bazy



$link = dbconnect($db_host, $db_user, $db_pass, $db_name);[/code]




I wszystko działało. W nowej wersji PHP-Fusion nie jest to już takie proste, ten sposób nie działa i połączenie jest tylko z tą drugą bazą, wyskakują tylko takie błędy:


[code]Table 'wooqash_p2v06Lb.fusionqRmE9_errors' doesn't exist


Kliknij i zaczekaj na załadowanie kodu ...



Dlatego chciałem się Was poradzić co mógłbym zrobić w tym kierunku, bo nie mam już pomysłu. Sporo czasu walczyłem wtedy, a teraz jakby furtka się zamknęła.



Dodam, że ta druga baza nie ma nic wspólnego z PHP-Fusion, to jest baza dla systemu wyników.

(kostek135) #2

Nie bardzo znam się na php-fusion, ale może pomogę. Jeśli chcesz używać wielu baz, to np. zapytanie mysql_query() przyjmuje drugi parametr uchwyt do której bazy ma wykonać zapytanie

mysql_query($query,$db_connect2);

uchwytem w twoim zapytaniu jest to co zwraca @mysql_connect, czyli zmienna globalna, tak więc z poza funkcją odwołujesz się do niej normalnie jak do zmiennej.

Musisz więc połączyć się w takiej kolejności, żeby uchwytu nie potrzebowała fusionowa baza (żeby w całym cmsie nie dodawać uchwytów), a do swoich skryptów dodać uchwyty.