Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Ako na pripojenie na dve databazi

Ahojte, na zive mi newedia poradit, tak to skusim tu :-D

mam tri rozne stranky, kazda ma vlastnu databazu na tom istom serveri... + je jedna databaza ktora by mala obsahovat udaje o uzivateloch... ked si clovek otvori jednu stranku potrebujem vtedy pracovat s jej databazov a tou kde su uzivatelia...

da sa to nejak takto nacitat?:

$db_connt1 = @mysql_select_db(nazov_databazy_stranky)
$db_connt2 = @mysql_select_db(nazov_databazy_uzivatelov)

ale potom ako ukladat a citat udaje z jednotlivych databazi na jednej stranke.... ak je to krepa otazka tak sa vopred ospravedlnujem

dííííííííííííííki za odpoved

Předmět Autor Datum
Prečítaj si komentáre ku funkcii mysql_select_db - sú tam vymenované snáď všetky možnosti, ako sa pr…
los 24.10.2007 14:47
los
toto moze byt ono??? Volake komplikovanejsie mi to pripada :-/ <?php // none of thesehandles are re…
mAffo 24.10.2007 15:12
mAffo
V podstate áno. Prvé tri riadky sú škrabaním sa pravou nohou za ľavým uchom, pretože funkcia mysql_c…
los 24.10.2007 17:33
los
skusil som moznost 3.. IDE !! 8-) len my je divne ze to ide aj bez predchadzajuceho otvorenia databa… poslední
mAffo 24.10.2007 20:00
mAffo

toto moze byt ono??? Volake komplikovanejsie mi to pripada :-/

<?php
// none of thesehandles are re-used as the connection parameters are different on them all, despite connecting to the same server (assuming 'myuser' and 'otheruser' have the same privileges/accesses in mysql)
$handle_db1 = mysql_connect("localhost","myuser","apasswd");
$handle_db2 = mysql_connect("127.0.0.1","myuser","apasswd");
$handle_db3 = mysql_connect("localhost:3306","myuser","apasswd");
$handle_db4 = mysql_connect("localhost","otheruser","apasswd");

// give each handle it's own database to work with, permanently.
mysql_select_db("db1",$handle_db1);
mysql_select_db("db2",$handle_db2);
mysql_select_db("db3",$handle_db3);
mysql_select_db("db4",$handle_db4);

//do a query from db1:
$query = "select * from test"; $which = $handle_db1;
mysql_query($query,$which);

//do a query from db2 :
$query = "select * from test"; $which = $handle_db2;
mysql_query($query,$which);

//etc 
?>

V podstate áno.
Prvé tri riadky sú škrabaním sa pravou nohou za ľavým uchom, pretože funkcia mysql_connect má aj štvrtý parameter, ktorý ak je nastavený na true, tak sa vytvorí nové pripojenie.
Premenná $which je tak trochu zbytočná.

Len pre úplnosť, možnosti spomenuté v tých komentároch sú:
1. Vytvoriť viacero rôznych pripojení pomocou mysql_connect (štvrtý parameter nastavený na true).
2. Nastavovať používanú databázu pred vykonaním SQL príkazu (buď pomocou funkcie mysql_select_db alebo pomocou SQL príkazu USE DATABASE).
3. Priamo v SQL príkaze určiť, z ktorej databázy sa majú dáta čítať (SELECT * FROM database1.table).

skusil som moznost 3.. IDE !! 8-) len my je divne ze to ide aj bez predchadzajuceho otvorenia databazi (myslim prikaz mysql_select_db), ten dotaz SELECT tabulka1.uzivatel si sam predtym otvori tu databazu automaticky? nie je fakt nutne zadavat predtym mysql_select_db , staci sa len pripojit pomocou mysql_connect , to je vsetko???

dikes za objasnenie... fakt mi to nejde do hlavy ;-)

Zpět do poradny Odpovědět na původní otázku Nahoru