Manuál PHP | ||
---|---|---|
Předcházející | Další |
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://dev.mysql.com/doc/.
Aby byly tyto funkce dostupné, musí být PHP zkompilováno s podporou MySQL.
Použitím konfigurační volby --with-mysql[=DIR]
povolíte PHP přistupovat k MySQL
databázím.
V PHP 4 je volba --with-mysql
ve
výchozím nastavení povolena. Pro zakázání MySQL můžete použít volbu
--without-mysql
.
Pokud v PHP 4 povolíte MySQL bez zadání cesty k
MySQL, PHP použije přibalené klientské knihovny
MySQL. Pod Windows není potřeba žádné DLL, je přímo obsaženo v PHP 4.
Uživatelé, kteří používají jiné aplikace, které používají MySQL (například
auth-mysql) by neměli použít přibalené knihovny, ale měli by raději určit
cestu k instalačnímu adresáři MySQL, např.:
--with-mysql=/path/to/mysql
.
To přinutí PHP používat klientské knihovny
instalované MySQL, čímž se vyhnete případným konfliktům.
V PHP 5 není ve výchozím nastavení MySQL nadále zapnuto ani nejsou k dispozici přibalené knihovny MySQL. Přečtěte si tuto FAQ s vysvětlením důvodů.
Toto MySQL rozšíření nebude pracovat s MySQL verzemi většími než 4.1.0. Pro tyto verze použijte MySQLi.
Varování |
Padání a problémy při startu PHP mohou nastat, pokud nahráváte toto rozšíření spolu s rozšířením recode. Viz rozšíření recode pro bližší informace. |
Poznámka: Pokud potřebujete kódové stránky jiné než latin (výchozí), musíte nainstalovat externí (ne přibalenou) knihovnu se zakompilovanou podporou kódových stránek.
Chování těchto funkcí je ovlivněno nastavením parametrů v 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 |
mysql.connect_timeout | "0" | PHP_INI_SYSTEM |
Zde je stručný popis konfiguračních direktiv.
mysql.allow_persistent
booleanMá-li být povoleno persistentní (trvalá) spojení s MySQL.
mysql.max_persistent
integerMaximální počet persistentních spojení na jeden proces.
mysql.max_links
integerMaximá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
stringVýchozí jméno socketu pro připojení k lokálnímu databázovému serveru, není-li jiný socket specifikován.
mysql.default_host
stringVý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
stringVý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
stringVýchozí heslo pro spojení s databázovým serverem, není-li uvedeno jiné heslo. Nelze použít při bezpečném režimu (safe mode).
mysql.connect_timeout
integerTimeout připojení v sekundách. Na Linuxu je tento timeout použit také pro čekání na první odpověď serveru.
V MySQL modulu jsou použity dva typy zdrojů. První je identifikátor spojení pro připojení k databázi a druhý uchovává výsledek dotazu.
Tyto konstanty jsou definovány tímto rozšířením a budou k dispozici pouze tehdy, bylo-li rozšíření zkompilováno společně s PHP nebo dynamicky zavedeno za běhu.
Od PHP 4.3.0 je možné nastavit klienta doplňujícími parametry pro funkce mysql_connect() a mysql_pconnect() Jsou definovány následující konstanty:
Tabulka 2. MySQL klientské konstanty
Konstanta | Popis |
---|---|
MYSQL_CLIENT_COMPRESS | Použije kompresní protokol |
MYSQL_CLIENT_IGNORE_SPACE | Povolí mezeru za názvy funkcí |
MYSQL_CLIENT_INTERACTIVE | Povolí interactive_timeout sekundy (namísto wait_timeout) neaktivity před uzavřením spojení. |
Funkce mysql_fetch_array() používá konstanty pro různé typy výsledkových polí. Jsou definovány následující konstanty:
Tabulka 3. 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. |
Tento jednoduchý příklad ukazuje jak se připojit, provést dotaz, zobrazit výsledné řádky a odpojit se z MySQL databáze.
Předcházející | Domů | Další |
muscat_setup | Nahoru | mysql_affected_rows |