PHP Manuál | ||
---|---|---|
Predchádzajúci | Nasledujúci |
Tieto funkcie umožňujú pristupovať k databázovým serverom MySQL. Bližši informácie o MySQL možno nájsť na http://www.mysql.com/.
Dokumentácia k MySQL sa nachádza na http://dev.mysql.com/doc/.
Aby boli tieto funkcie k dispozícii, je potrebné skompilovať PHP s podporou MySQL.
Použitím konfiguračnej možnosti --with-mysql[=DIR] povolíte prístup PHP k databázam MySQL. Ak použijete túto možnosť bez špecifikovania cesty k MySQL (parameter DIR) PHP použije vlastné interné klientské knižnice MySQL. Vo verziách PHP 4 je podpora MySQL vždy povolená. Ak nie je konfiguračná možnosť špecifikovaná, použijú sa knižnice dodávané s PHP. Užívatelia, ktorí používajú ďalšie aplikácie využívajúce MySQL (napr. prevádzkujú PHP 3 a PHP 4 ako konkurentné moduly servera Apache; alebo auth-mysql) by mali vždy uviesť cestu k MySQL: --with-mysql=/cesta/ku/mysql. Týmto nastavením bude PHP prinútené používať klientské knižnice nainštalované spolu s MySQL, čím sa predíde prípadným konfliktom.
Windows verzie PHP majú vstavanú podporu pre toto rozšírenie. Nemusíte načítať žiadne dodatočné rozšírenie, aby ste mohli tieto funkcie používať.
Varovanie |
Pri načítavaní tejto nadstavby súčasne s nadstavbou recode môžu nastať pády, či problémy pri spúšťaní PHP. Bližšie informácie možno nájsť v sekcii o nadstavbe. recode. |
Správanie tejto funkcie je ovplyvnené nastaveniami v php.ini.
Tabuľka 1. Konfiguračné možnosti MySQL
Názov | Implicitne | Meniteľnosť |
---|---|---|
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 |
Uvádzame krátke vysvetlenie konfiguračných direktív
Určuje, či budú povolené perzistentné pripojenia k MySQL.
Maximálny počet perzistentných pripojení k MySQL pre jeden proces.
Maximálny počet pripojení k MySQL, vrátanie perzistentných pripojení.
Implicitný port TCP, ktorý sa bude používať na pripojenie k databázovému serveru, ak nie je v pripojení špecifikovaný port. V prípade, že nie je definovaná žiadna implicitná hodnota, port sa zistí z premennej prostredia MYSQL_TCP_PORT, ďalej z položky mysql-tcp v súbore /etc/services a nakoniec z hodnoty konštanty MYSQL_PORT zadanej pri kompilácii, a to v uvedenom poradí. Na platforme Win32 sa bude zisťovať len hodnota konštanty MYSQL_PORT.
Implicitný názov socketu, ktorý sa použije na pripojenie k lokálnemu databázovému serveru, ak nie je pri pripájaní špecifikovaný socket.
Implicitný názov hostiteľského servera, ku ktorého databáze sa bude pripájať, ak nie je pri pripájaní špecifikovaný iný hostiteľ. Táto nastavenie nie je použiteľné v režime safe mode.
Implicitné meno užívateľa, ktoré sa bude používať, v pripojení k databázovému serveru, ak nie je pri pripájaní špecifikované iné meno. Toto nastavenie nie je použiteľné v režime safe mode.
Implicitné heslo, ktoré sa bude používať na pripojenie k databázovému serveru, ak nie je pri pripájaní špecifikované iné heslo. Toto nastavenie nie je použiteľné v režime safe mode.
Časový limit odpojenia pri neaktivite v sekundách. V systéme Linux je tento časový limit použitý aj pri čakaní na prvú odpoveď servera.
V moduli MySQL sú využívané dva typy zdrojov (resources). Prvým je identifikátor pripojenia k databáze a druhým je zdroj, ktorý uchováva výsledok dopytu.
Konštanty uvedené nižšie sú definované týmto rozšírením a budú dostupné iba keď rozšírenie bolo buď kompilované do PHP alebo dynamicky načítané za behu (runtime).
Od verzie PHP 4.3.0 je možné špecifikovať dodatočné príznaky pre klienta pri používaní funkcií mysql_connect() a mysql_pconnect() Definované sú nasledovné konštanty:
Tabuľka 2. Konštanty klienta MySQL
konštanta | popis |
---|---|
MYSQL_CLIENT_COMPRESS | používať komprimačný protokol |
MYSQL_CLIENT_IGNORE_SPACE | povoľovať medzeru za názvami funkcií |
MYSQL_CLIENT_INTERACTIVE | Používať nastavenie interactive_timeout (namiesto wait_timeout) ako interval nečinnosti v sekundách. Po uplynutí tohto intervalu bude spojenie uzatvorené. |
Funkcia mysql_fetch_array() využíva konštanty na špecifikovanie typu polí pre výsledky. Definované sú nasledovné konštanty.
Tabuľka 3. Konštanty MySQL fetch
konštanta | popis |
---|---|
MYSQL_ASSOC | Stĺpčeky sú vrátené v poli, pričom indexy tohto poľa tvoria názvy atribútov tabuľky. |
MYSQL_BOTH | Stĺpčeky sú vrátené v poli, pričom indexy tohto poľa tvoria jednak číselné indexy polí tabuliek a jednak názvy atribútov tabuľky. |
MYSQL_NUM | Stĺpčeky sú vrátené v poli, pričom indexy tohto poľa tvoria číselné indexy polí tabuliek. Tento index začína od 0 - tá reprezentuje hodnotu prvého atribútu tabuľky vo výsledku. |
Nasledovný jednoduchý príklad ukazuje, ako sa pripojiť k databáze, vykonať dopyt, vytlačiť jednotlivé riadky tvoriace výsledok tohto dopytu a ako sa odpojiť od databázy MySQL.
Predchádzajúci | Domov | Nasledujúci |
msql | Hore | mysql_affected_rows |