PHP prakticky/Připojení k databázi: Porovnání verzí

Smazaný obsah Přidaný obsah
Oprava chyb v návodu pro práci s více databázemi naráz.
Řádek 62:
?>
</syntaxhighlight>
 
Pokud se připojujeme do více databází, musíme vždy uvést databázi za dotaz:
Připojení do více databází můžeme realizovat dvěma různými způsoby. Jsou-li všechny použité databáze na stejném DB serveru, stačí uvádět jméno databáze před názvem tabulky v každém SQL dotazu:
<syntaxhighlight lang="php">
<?php
// (připojení k DB serveru tady neuvádím)
//připojení do databáze sem už nebudu vypisovat
$db1 = "wikipedia";
$db2 = "wikibooks";
mysql_query("SELECT * FROM pocitadlo", . $db1 . ".pocitadlo"); //za dotazemnázvy musímedatabáze vybrat,a ztabulky kterése databázeoddělují chcemetečkou
mysql_query("SELECT * FROM uzivatele", $db2.uzivatele"); //vybírat, pokuda můžeme vybírámeto zzapsat vícei databazítakto
//mysql_query si zaslouží vlastní stranu
//... další zpracování...
?>
</syntaxhighlight>
 
Pokud jsou ale databáze na různých DB serverech, je potřeba navázat několik samostatných připojení. Všimněte si, že v tomto případě musíme u každé databázové funkce uvádět i identifikátor připojení. (Normálně je nepovinný; není-li uveden, PHP vezme to DB připojení, které bylo použité jako poslední.)
<syntaxhighlight lang="php">
<?php
$cfg = array(
'db1' => array(
'server' => 'localhost', 'user' => 'user', 'password' => 'tajneheslo', 'db' => 'wikipedia'
),
'db2' => array(
'server' => 'mysql.example.com', 'user' => 'root', 'password' => '123456', 'db' => 'wikibooks'
)
);
$db_local = mysql_connect($cfg['db1']['server'], $cfg['db1']['user'], $cfg['db1']['password']);
mysql_select_db($cfg['db1']['db'], $db_local);
 
$db_remote = mysql_connect($cfg['db2']['server'], $cfg['db2']['user'], $cfg['db2']['password']);
mysql_select_db($cfg['db2']['db'], $db_remote);
 
mysql_query("SELECT * FROM pocitadlo", $db_local); // provede dotaz nad lokální databázi "wikipedia"
mysql_query("SELECT * FROM uzivatele", $db_remote); // provede dotaz nad vzdálenou databází "wikibooks"
?>
</syntaxhighlight>