Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][MySQL] Wybor 2 bazy
Forum PHP.pl > Forum > Przedszkole
Swirek
Może troszke się ośmiesze ale...
jak moge wybrac 2 baze danych nie zamykajac wczesniejszej.
Tzn. chcialbym wykonywac operacje na 2 bazach danych jednoczesnie.
Czy jest to mozliwe za pomoca funkcji mysql_select_db
np. coś takiego
$mysql1 = mysql_select_db($baza1);
$mysql2 = mysql_select_db($baza2);
takie coś wybiera mi tylko tę 2 baze
czy mozna to zrbic np.
$mysql = mysql_select_db($baza1, $baza2);

jak to rozwiązać?
devnul
  1. <?php
  2. $con1=msql_connect(dane_do_polaczenia);
  3. $con2=mysql_connect(dane_do_polaczenia)
  4. mysql_selectdb($baza1,$con1);
  5. mysql_selectdb($baza2,$con2);
  6. mysql_query($query_do_baza1,$con1);
  7. mysql_query($query_do_baza2,$con2);
  8. ?>


ew napisz klase pośredniczącą która automatycznie będzie zmieniała baze danych na tórej będziesz operował
Kicok
Jeśli chcesz wykonywać zapytania na kilku bazach danych to robisz to w ten sposób:


  1. <?php
  2.  
  3. # Dane użytkownika który ma uprawnienia dostępu do baz: baza1 i baza2
  4. $conn_id = mysql_connect($host, $user, $pass); 
  5.  
  6.  
  7. # Jakieś zapytanie. Nazwę bazy danych od nazwy tabeli oddzielamy kropką.
  8. $query = 'SELECT t1.cos, t2.cos_innego
  9. FROM baza1.tabela AS t1,
  10.  baza2.tabela AS t2
  11. WHERE (t1.id = t2.id)
  12. ORDER BY t1.cos DESC;';
  13. $result = mysql_query($query, $conn_id);
  14.  
  15. ?>
devnul
halo Kicok czytamy ze zrozumieniem - napisałem to samo wyżej jakbyś nie zauważył? po co ten dubel?
Kicok
Nie wydaje mi się, żebym napisał to samo. W twoim przypadku, żeby wykonać zapytanie na 2 bazach trzeba:
- przełączyć się na pierwszą bazę
- wykonać zapytanie pobierające dane z pierwszej bazy i zapisujące je do zmiennej w PHP
- przełączyć się na drugą bazę
- wykonać kolejne zapytanie operujące na drugiej bazie i wykorzystujące dane z owej zmiennej
Swirek
Dziękuje wam ślicznie
Prosze się nie kłócić obaj mi pomogliście smile.gif
devnul
@Kicok: sory, małe niedopatrzenie, nie zauwazyłem drobiazgu w postaci baza1.tabela smile.gif zwracam honor
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.