Autor Zpráva
Petr1234
Profil *
Čau,

mám PHP stránku, na které se hned na začátku připojím k MySQL databázi. Zhruba uprostřed bych ale potřeboval vypsat nějaká data z jiné databáze. Jak to nejlépe pořešit?

Díky za tip
nightfish
Profil
uděláš si další spojení (zavoláš další mysql_connect)
musíš pak u všech operací typu mysql_query, mysql_select_db používat i nepovinný parametr - identifikátor spojení
jinak to bude pracovat tuším pouze s později založeným připojením

EDIT: a nebo jednodušeji... prostě uprostřed skriptu zavoláš mysql_select_db("druhadb");
podotazuješ
a pak se vrátíš zpět k mysql_select_db("prvnidb");
Fibi
Profil *
No jestli je to na stejném DB stroji a máš stejné přihlašovací údaje tak asi nejlépe pomocí tečkové notace.

$spoj = MySQL_PConnect("localhost","user","password") //nejake pripojeni
MySQL_Select_DB("hlavniDB",$spoj) //zvoleni hlavni DB

MySQL_Query("SELECT * FROM tabulkaVhlavniDB"); //vyber z tabulky v hlavni DB
MySQL_Query("SELECT * FROM vedlejsiDB.tabulkaVvedlejsiDB"); //vyber z tabulky ve vedlejsiDB

Jenom si dej pozor aby uživatel pod kterým se připojuješ k DB stroji měl právo šahat do obou databází.

Jinak můžeš taky před tím dotazem do jiné DB tuto zvolit na chvíli pomocí MySQL_Select_DB a pak zase vrátit.
A pokud šaháš na jiný DB stroj tak asi nejlíp dva conecty .

Fibi
Petr1234
Profil *
A co kdybych se připojil závoveň ke dvěma databázím a pomocí mysql_db_query (); bych ke každému dotazu určoval databázi ze které se to má tahat?
Fibi
Profil *
Jasně to by šlo taky, ono záleží na konkrétní situaci .
Pokud se pokaždé připojuješ ke stejnému DB stroji, pak mi přijde nejlepší ta tečková notace , máš jen jedno spojení , vlastně nic navíc nikde kde to není potřeba.
Ale v okamžiku kdy to jsou dva různé DB stroje pak je ta verze se dvěma připojeními taky možná, jen musíš u každého dotazu uvádět id spojení .

Fibi

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0