PHP prakticky/Připojení k databázi: Porovnání verzí
Smazaný obsah Přidaný obsah
m →Perzistentní připojení: ještě dvě malé opravy |
m <source> → <syntaxhighlight> |
||
Řádek 5:
Celé je to velice jednoduché. Pokud se chceme připojit, stačí zadat:
<
<?php
mysql_connect($localhost, $user, $password);
?>
</syntaxhighlight>
Místo localhost se zadává adresa serveru, kde se nachází databáze. Často je databáze na stejném serveru jako webový server (localhost), většina českých free serverů, např. ic.cz, webzdarma.cz apod. má databázi na subdoméně (mysql.ic.cz, mysql.webzdarma.cz apod.).
<
<?php
$localhost = "mysql.webzdarma.cz";
Řádek 22:
mysql_connect("mysql.webzdarma.cz", "wikipedia", "c3bk2pLtaQ5q");
?>
</syntaxhighlight>
Nelekněte se, že heslo není zašifrováno. PHP skripty jsou uloženy na serveru, a tak by se k uživateli nemělo nikdy dostat (pokud neuvažujeme prolomení zabezpečení serveru).
== Výběr databáze ==
Výběr databáze je taky velice jednoduchá záležitost, která se skládá z jedné funkce. Tuto funkci nepoužívejte, pokud pracujete s více databázemi najednou.
<
<?php
mysql_select_db($databaze);
?>
</syntaxhighlight>
Na free serverech dostanete pouze jednu databázi k jedné doméně. Většinou je na free serverech jméno databáze stejné jako přihlašovací jméno do databáze.
Celý kód pro lepší představu:
<
<?php
//proměnné pro připojení a výběr databáze
Řádek 49:
or die("Nepodařilo se zvolit databázi");
?>
</syntaxhighlight>
Určitě jste si všimli volitelné části <code>or die("...")</code>, která se zadává za příkaz připojení a výběru databáze, pokud by se nezdařilo. Je to zkrácení tohoto kódu:
<
<?php
if(mysql_connect("localhost", "user", "c3bk2pLtaQ5q")){
Řádek 61:
}
?>
</syntaxhighlight>
Pokud se připojujeme do více databází, musíme vždy uvést databázi za dotaz:
<
<?php
//připojení do databáze sem už nebudu vypisovat
Řádek 73:
//... další zpracování...
?>
</syntaxhighlight>
== Perzistentní připojení ==
Pokud vaše webová aplikace běží na velmi vytíženém serveru, kde přichází tisíce SQL dotazů za sekundu, nebudete chtít, aby se pokaždé vytvářelo nové spojení s databází, jako to dělá <code>mysql_connect()</code>. Proto máme k dispozici funkci <code>mysql_pconnect()</code>, vytvářející tzv. perzistentní připojení. Opět musíme zadat všechny tři potřebné údaje.
<
<?php
mysql_pconnect("localhost", "user", "password");
mysql_select_db("test");
?>
</syntaxhighlight>
Pro předpokládanou funkčnost mysql_pconnect musí být PHP na serveru nakonfigurováno jako webový modul. Naopak pokud se PHP skripty používají jako [[w:Common Gateway Interface|CGI skripty]], chová se <code>mysql_pconnect</code> jako <code>mysql_connect</code>, tj. pokaždé vytvoří nové připojení a po zpracování skriptu je zase uzavře.
|