|
|
 |
LXIII. MySQL Funkce
Tyto funkce zprostředkovávají přístup na MySQL databázový server.
Více informací o MySQL lze nalézt na http://www.mysql.com/.
Dokumentace k MySQL je dostupná na http://www.mysql.com/documentation/.
Požadavky
Aby byly tyto funkce dostupné, musí být PHP zkompilováno s podporou
MySQL.
Instalace
Tyto funkce zprostředkovávají přístup na MySQL databázový server.
Mají-li být tyto funkce dostupné, musí být PHP zkompilováno s
podporou MySQL parametrem --with-mysql.
Pokud použijete tento parametr bez zadané cesty k MySQL, PHP použije
vestavěné
MySQL klient knihovny. Uživatelé, kteří spouští další aplikace používající
MySQL (např.: spuštěné PHP3 a PHP4 jako vzájemné moduly v apache či
auth-mysql)
by měli vždy zadat cestu k MySQL:
--with-mysql=/cesta/k/mysql.
PHP tak použije klientské knihovny instalované MySQL, čímž se vyvarujete
možných konfliktům.
Runtime konfigurace
Chování funkcí MySQL je ovlivněno nastavením v globálním
konfiguračním souboru php.ini.
Tabulka 1. Možnosti nastavení MySQL | Jméno | Výchozí | Změnitelné |
|---|
| mysql.allow_persistent | "On" | PHP_INI_SYSTEM | | mysql.max_persistent | "-1" | PHP_INI_SYSTEM | | mysql.max_links | "-1" | PHP_INI_SYSTEM | | mysql.default_port | NULL | PHP_INI_ALL | | mysql.default_socket | NULL | PHP_INI_ALL | | mysql.default_host | NULL | PHP_INI_ALL | | mysql.default_user | NULL | PHP_INI_ALL | | mysql.default_password | NULL | PHP_INI_ALL |
Podrobný popis a definice konstant PHP_INI_* naleznete v
ini_set().
Zde je krátké vysvětlení konfiguračních příkazů.
- mysql.allow_persistent
boolean
Má-li být povoleno
persistentní (trvalá)
spojení s MySQL.
- mysql.max_persistent
integer
Maximální počet persistentních spojení na jeden proces.
- mysql.max_links
integer
Maximální počet spojení s MySQL na jeden proces včetně persistentních
spojení.
- mysql.default_port
string
Číslo výchozího TCP portu pro spojení s databázovým serverem, pokud není
port zadán. Není-li výchozí port zadán, použije se port uvedený v proměnné
prostředí MYSQL_TCP_PORT., záznam
mysql-tcp v /etc/services
nebo "compile-time" konstanta MYSQL_PORT, v tomto
pořadí. Win32 používá pouze konstantu MYSQL_PORT.
- mysql.default_socket
string
Výchozí jméno socketu pro připojení k lokálnímu databázovému serveru,
není-li jiný socket specifikován. - mysql.default_host
string
Výchozí server pro spojení s databázovým serverem, není-li uveden jiný.
Nelze použít při bezpečném režimu (safe
mode). - mysql.default_user
string
Výchozí uživatel pro spojení s databázovým serverem, není-li uveden jiný
uživatel. Nelze použít při bezpečném režimu (safe
mode).
- mysql.default_password
string
Výchozí heslo pro spojení s databázovým serverem, není-li uveeno jiné
heslo. Nelze použít při bezpečném režimu (safe
mode).
Typy zdrojů
V modulu MySQL jsou použity dva typy zdrojů. První zdroj je
identifikátor databázového spojení a druhý, který vykonává výsledek dotazu. Předdefinované konstanty
Funkce mysql_fetch_array() používá konstanty pro
různé typy výsledkových polí. Jsou definovány následující konstanty:
Tabulka 2. MySQL fetch konstanty | konstanta | popis |
|---|
| MYSQL_ASSOC |
Sloupce jsou vraceny do pole jehož klíčemi jsou názvy sloupců.
| | MYSQL_BOTH |
Sloupce jsou vráceny do pole majícího číslené i textové
klíče, určující pořadí sloupce v tabulce, respektive jeho jméno. | | MYSQL_NUM |
Vrací sloupec do pole s číselnými klíči reprezentujícími pořadí sloupce
v tabulce. První sloupec tabulky začíná klíčem 0. | | MYSQL_STORE_RESULT |
Určuje, zda by měl být výsledek MySQL bufferován.
| | MYSQL_USE_RESULT |
Určuje, zda by výsledek MySQL neměl být bufferován.
|
Examples
Zde je jednoduchý ukázkový příklad jak se připojit, provést dotaz,
zobrazit výsledné řádky a odpojit se z MySQL databáze.
Příklad 1. Ukázkový příklad použití MySQL <?php
// Připojení, výběr databáze
$link = mysql_connect("mysql_host", "mysql_login", "mysql_heslo")
or die("Nelze se připojit");
print "Připojeno úspěšně!";
mysql_select_db("moje_databaze")
or die("Nelze vybrat databázi");
// Příprava SQL dotazu
$query = "SELECT * FROM moje_tabulka";
$result = mysql_query($query)
or die("Dotaz nelze provést");
// Zobrazení výsledku v HTML
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";
// Odpojení z MySQL databáze
mysql_close($link);
?> |
|
User Contributed Notes MySQL Funkce |
 |
| There are no user contributed notes for this page. |
| |