favik
30.10.2013, 12:18:33
Witam,
jak pobrać w PDO dane z dwóch baz danych, ale umieszczonych na różnych serwerach? Na jednym mam listę artykułów w tabeli article z kolumnami id, temat, owner_id, a na drugim tabelę users z kolumnami id, name. Teraz chcę pobrać artykuł wraz z nazwą autora. Do tej pory robiłem to jedynie, gdy bazy były na jednym serwerze.
jackraymund
30.10.2013, 12:38:19
robisz 2 połączenia, w jednym pobierasz owner_id i przekazujesz do zapytania w 2 bazie, aby znalazło name gdzie id = $owner_id
favik
30.10.2013, 12:44:32
No tak, ale gdy pobieram już listę artykułów to będzie trochę więcej przypisywania artykułów do użytkowników. Dlatego pytam, czy da się to zrobić bardziej po stronie sql.
jackraymund
30.10.2013, 12:59:07
Tak, ale nie bezpośrednio.
Musisz w jednej z baz zalinkować 2.
http://dev.mysql.com/doc/refman/5.0/en/federated-use.htmla potem odnieść się do niej w zapytaniu
tak czy inaczej
"The local server communicates with the remote server using MySQL client C API functions. It invokes mysql_real_query() to send the statement. To read a result set, it uses mysql_store_result() and fetches rows one at a time using mysql_fetch_row()."