Manuál PHP | ||
---|---|---|
Předcházející | Další |
XCVII. MySQL funkce
Úvod
Tyto funkce zprostředkovávají přístup na MySQL databázový server. Více informací o MySQL lze nalézt na https://www.mysql.com/.
Dokumentace k MySQL je dostupná na https://dev.mysql.com/doc/.
Požadavky
Aby byly tyto funkce dostupné, musí být PHP zkompilováno s podporou MySQL.
Instalace
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.
Konfigurace běhu
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.
Typy prostředků
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.
Předdefinované konstanty
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. |
Příklady
Tento jednoduchý příklad ukazuje jak se připojit, provést dotaz, zobrazit výsledné řádky a odpojit se z MySQL databáze.
- Obsah
- mysql_affected_rows -- Vrátí počet ovlivněných (změněných) záznamů v MySQL po posledním dotazu
- mysql_change_user -- Změní přihlášeného uživatele v současném spojení
- mysql_client_encoding -- Vrátí název znakové sady
- mysql_close -- Ukončí (zavře) MySQL spojení
- mysql_connect -- Vytvoří spojení s MySQL Serverem
- mysql_create_db -- Vytvoří MySQL databázi
- mysql_data_seek -- Přesune ukazatel na aktuální záznam
- mysql_db_name -- Vrátí seznam všech databází
- mysql_db_query -- Pošle MySQL dotaz
- mysql_drop_db -- Vymaže (odstraní) MySQL databázi
- mysql_errno -- Vrátí číslenou hodnotu chybové hlášky předchozího MySQL příkazu.
- mysql_error -- Vrátí text chybové zprávy předchozího MySQL příkazu.
- mysql_escape_string -- Upraví řetězec pro bezpečné použití v mysql_query.
- mysql_fetch_array -- Načte výsledný řádek do asociativního, čísleného pole nebo obojího.
- mysql_fetch_assoc -- Načte výsledný řádek do asociativního pole
- mysql_fetch_field -- Načte informace o sloupci z výsledku do proměnné objektu
- mysql_fetch_lengths -- Zjistí délku všech položek aktuálního výstupu
- mysql_fetch_object -- Načte výsledný záznam do proměnné objektu
- mysql_fetch_row -- Načte výsledný záznam do pole
- mysql_field_flags -- Načte příznaky sloupce tabulky
- mysql_field_len -- Vrací délku sloupce tabulky
- mysql_field_name -- Načte název sloupce tabulky
- mysql_field_seek -- Nastaví ukazatel na zadaný sloupec
- mysql_field_table -- Zjistí jméno tabulky, v níž se nachází uvedený sloupec
- mysql_field_type -- Vrací typ specifikovaného sloupce.
- mysql_free_result -- Uvolní výsledek z paměti
- mysql_get_client_info -- Načte verzi klientské knihovny MySQL
- mysql_get_host_info -- Načte informaci o hostu
- mysql_get_proto_info -- Načte informaci o protokolu MySQL
- mysql_get_server_info -- Načte informace o serveru MySQL
- mysql_info -- Vrací informace o posledním dotazu
- mysql_insert_id -- Vrací generovanou hodnotu id posledního příkazu INSERT
- mysql_list_dbs -- Načte všechny dostupné databáze na MySQL serveru
- mysql_list_fields -- Načte výsledek s obsahem sloupce
- mysql_list_processes -- List MySQL processes
- mysql_list_tables -- Načte všechny tabulky v MySQL databázi
- mysql_num_fields -- Vrací počet sloupců ve výsledku
- mysql_num_rows -- Vrací počet záznamů ve výsledku
- mysql_pconnect -- Otevře persistentní spojení s MySQL serverem
- mysql_ping -- Ověří spojení se serverem, případně, není-li spojení dostupné, pokusí se připojit znovu.
- mysql_query -- Pošle MySQL dotaz
- mysql_real_escape_string -- Upraví řetězec pro bezpečné použití v mysql_query.
- mysql_result -- Načte obsah jednoho sloupce tabulky
- mysql_select_db -- Nastaví MySQL databázi
- mysql_stat -- Vrací aktuální stav systému
- mysql_tablename -- Načte jméno tabulky
- mysql_thread_id -- Vrací id aktuálního vlákna
- mysql_unbuffered_query -- Pošle SQL dotaz bez načtení a bufferování výsledných záznamů
Předcházející | Domů | Další |
muscat_setup | Nahoru |