Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wybieranie danych z kilku baz danych
Forum PHP.pl > Forum > Przedszkole
Star
Witam

chcialbym wybrac dane z kilku baz danych. Jest to potrzebne np do zrobienia skryptu wyszukiwarki. Wprowadzamy np imie i w tabeli wyswietlaja sie wszystkie imiona znajdujące się w kilku bazach danych.
Z jednej bazy danych imię wyszkukac łatwo : SELECT imie FROM `users_users`
Co zrobic aby wyszukac z kilku ?
Aqu
Możesz przecież nawiązać połączenie z kilkoma bazami.
  1. $baza1 = new mysqli(...);
  2. $baza2 = new mysqli(...);
  3.  
  4. $baza1->query(...);
  5. $baza2->query(...);
  6.  
  7.  
Pyton_000
jeśli użytkownik ma dostęp do kilku baz i bazy są na tym samym serwerze to:

  1. SELECT baza1.tabela1.kolumna FROM baza1.tabela1
Star
Pyton_000, to co podałes jest do jednej bazy. A jak wybrać dane z kilku ?
Pyton_000
zamienić baza1 na baza2?
Star
Chyba dalej nie rozumiem.

kod wyglada tak
  1. $query = "SELECT * FROM `{$_SESSION[db_prefix]}_users` WHERE nick = '$_GET[nick]'";
  2. $result = mysql_query($query);
  3. if($result) $num_results = mysql_num_rows($result);
  4. else $num_results = 0;


i potem tworzę pętlę
  1. for($i = 1; $i <= $num_results; $i++)
  2. {
  3. $row = mysql_fetch_array($result);


i dalej nie wiem jak wyciągnąc dane z wiecej niż jednej bazy, jesli dodam np po _users po przecinku drugą bazę to przecież nie zadziała.
Aqu
A czy pisząc "baza", nie masz tak naprawdę na myśli tabeli?
Star
No tak, mam. Przepraszam za wprowadzenie w błąd
com
  1. SELECT t1.kolumna, t2.kolumna FROM tabela1 t1, tabela2 t2 WHERE warunek=wartosc
Star
niestety
gdy zmienilem na SELECT *, * FROM {$_SESSION[db_prefix]}_users, {$_SESSION[db_prefix]}_userss

to nadal nic nie wyswietla
com
  1. SELECT t1.kolumna, t2.kolumna FROM {$_SESSION[db_prefix]}_users t1, {$_SESSION[db_prefix]}_userss t2

Czy ja CI tak napisałem? nie
I poczytaj o http://www.sitepoint.com/understanding-sql...mysql-database/
Star
no dobrze, ja nie znam się za bardzo na bazach danych więc proszę abyś z tego kodu który podałem wczesniej napisal mi jak to dokladnie powinno wygladac :-)
com
napisałem Ci, bo tyle mam wiadomości na jego temat, nwm jakie masz kolumny w bazie danych i nwm co potrzebujesz z nich pobrać. Ale kiedy robisz złączenia każda nazwa musi być unikatowa, albo musisz ją wymienić a jak zakładam w każdej Ci się powtarzają, wiec musisz je wszystkie wymienić dopisując przed nazwa kolumny nazwe tabeli, żeby tyle nie pisać mozna zrobić alians czyli tak jak w kodzie powyżej
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.