Star
11.03.2015, 22:39:21
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 ?
Możesz przecież nawiązać połączenie z kilkoma bazami.
$baza1 = new mysqli(...);
$baza2 = new mysqli(...);
$baza1->query(...);
$baza2->query(...);
Pyton_000
11.03.2015, 23:06:34
jeśli użytkownik ma dostęp do kilku baz i bazy są na tym samym serwerze to:
SELECT baza1.tabela1.kolumna FROM baza1.tabela1
Star
11.03.2015, 23:39:45
Pyton_000, to co podałes jest do jednej bazy. A jak wybrać dane z kilku ?
Pyton_000
11.03.2015, 23:47:17
zamienić baza1 na baza2?
Star
12.03.2015, 00:12:34
Chyba dalej nie rozumiem.
kod wyglada tak
$query = "SELECT * FROM `{$_SESSION[db_prefix]}_users` WHERE nick = '$_GET[nick]'";
else $num_results = 0;
i potem tworzę pętlę
for($i = 1; $i <= $num_results; $i++)
{
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.
A czy pisząc "baza", nie masz tak naprawdę na myśli tabeli?
Star
12.03.2015, 09:36:12
No tak, mam. Przepraszam za wprowadzenie w błąd
SELECT t1.kolumna, t2.kolumna FROM tabela1 t1, tabela2 t2 WHERE warunek=wartosc
Star
12.03.2015, 10:18:23
niestety
gdy zmienilem na SELECT *, * FROM {$_SESSION[db_prefix]}_users, {$_SESSION[db_prefix]}_userss
to nadal nic nie wyswietla
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
12.03.2015, 10:36:55
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 :-)
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.