Obvykle jsou všechna data, se kterými potřebujeme ve webové aplikaci pracovat, uložena v jedné databázi. Za určitých okolností ale některá data mohou být uložena v jiné databázi – třeba když naše aplikace používá databázi uživatelů společnou pro víc webů. Jak v takovém případě postupovat?
V PHP je k dispozici funkce mysql_db_query, která ale není příliš šikovná, protože po provedení dotazu nenastaví aktivní databázi zpět na původní. Pokud tedy více databází nepoužíváme rovnoměrně (tehdy by se vyplatilo používat mysql_db_query všude), je lepší zvolit jiný přístup.
<?php // nešikovné - databáze uzivatele po dotazu zůstane aktivní mysql_db_query("uzivatele", "SELECT * FROM uzivatele WHERE id = $id"); // využití možnosti MySQL klást dotazy do jiné databáze mysql_query("SELECT * FROM uzivatele.uzivatele WHERE id = $id"); ?>
Druhá možnost je popsaná v MySQL dokumentaci.
Jiná situace samozřejmě nastává v případě, kdy běží druhá databáze na jiném serveru nebo k ní nemáme přístup pod stejnými přihlašovacími údaji. V tom případě je nutné otevřít druhé připojení a funkci mysql_query proměnnou s tímto připojením předávat.
Přijďte si o tomto tématu popovídat na školení Návrh a používání MySQL databáze.
Diskuse je zrušena z důvodu spamu.