Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Wybieranie danych z kilku baz danych
Star
post 11.03.2015, 22:39:21
Post #1





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
Aqu
post 11.03.2015, 22:56:29
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

Ostrzeżenie: (0%)
-----


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.  


Ten post edytował Aqu 11.03.2015, 22:58:00
Go to the top of the page
+Quote Post
Pyton_000
post 11.03.2015, 23:06:34
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Star
post 11.03.2015, 23:39:45
Post #4





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


Pyton_000, to co podałes jest do jednej bazy. A jak wybrać dane z kilku ?
Go to the top of the page
+Quote Post
Pyton_000
post 11.03.2015, 23:47:17
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


zamienić baza1 na baza2?
Go to the top of the page
+Quote Post
Star
post 12.03.2015, 00:12:34
Post #6





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Aqu
post 12.03.2015, 08:05:40
Post #7





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

Ostrzeżenie: (0%)
-----


A czy pisząc "baza", nie masz tak naprawdę na myśli tabeli?
Go to the top of the page
+Quote Post
Star
post 12.03.2015, 09:36:12
Post #8





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


No tak, mam. Przepraszam za wprowadzenie w błąd
Go to the top of the page
+Quote Post
com
post 12.03.2015, 09:40:50
Post #9





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


  1. SELECT t1.kolumna, t2.kolumna FROM tabela1 t1, tabela2 t2 WHERE warunek=wartosc
Go to the top of the page
+Quote Post
Star
post 12.03.2015, 10:18:23
Post #10





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


niestety
gdy zmienilem na SELECT *, * FROM {$_SESSION[db_prefix]}_users, {$_SESSION[db_prefix]}_userss

to nadal nic nie wyswietla
Go to the top of the page
+Quote Post
com
post 12.03.2015, 10:30:38
Post #11





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


  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/

Ten post edytował com 12.03.2015, 10:34:52
Go to the top of the page
+Quote Post
Star
post 12.03.2015, 10:36:55
Post #12





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


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 :-)
Go to the top of the page
+Quote Post
com
post 12.03.2015, 10:44:27
Post #13





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 21.06.2025 - 11:51