E függvények segítségével érheted el a MySQL adatbázisokat. A MySQL-ről további információt a http://www.mysql.com/ címen találsz. A MySQL dokumentációját pedig a http://dev.mysql.com/doc/ címen találod.
Ahhoz, hogy ezeket a függvényeket használhasd, a PHP-t MySQL támogatással kell lefordítanod.
Ha a PHP-t a --with-mysql opcióval fordítod, a PHP hozzá tud férni MySQL adatbázisokhoz. Ha nem adsz meg elérési utat, akkor a PHP a beépített MySQL könyvtárat fogja használni. Ha nem adod meg az opció után a mysql elérési útvonalát, akkor a php a beépített mysql kliens könyvtárat fogja használni. Ha a felhasználók más alkalmazásokat is használnak, amelyek mysql-t használnak (például a php 3-as és 4-es verzióját, vagy az auth-mysql-t), akkor mindig meg kell adni a mysql elérési útvonalát a --with-mysql=/path/to/mysql formában. Ez ki fogja kényszeríteni, hogy a meglévő mysql kliens könyvtárat használja a php, elkerülve az ebből adódó ütközéseket.
Figyelem |
A PHP rendszer-összeomlás és indítási problémák fordulhatnak elő, ha a recode kiterjesztéssel együtt használod a MySQL modult. Lásd a recode kiterjesztést további információért. |
A MySQL függvények viselkedését a globális php.ini nevű konfigurációs fájlban tudod beállítani.
Táblázat 1. MySQL konfigurációs beállítások
Név | Alapértelmezés | Hol állítható |
---|---|---|
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 | "-1" | PHP_INI_SYSTEM |
A beállítási lehetőségek rövid leírása.
Állandó kapcsolatok engedélyezése.
Az állandó MySQL kapcsolatok maximális száma folyamatonként.
A MySQL kapcsolatok maximális száma folyamatonként. (Ebbe az állandó kapcsolatok is beszámítanak
Az alapértelmezett TCP port, amelyet a PHP akkor használ, ha nincs portszám megadva. Ha nincs más alapértelmezés megadva, akkor a MYSQL_TCP_PORT környezeti változóból, majd a /etc/services fájl mysql-tcp bejegyzéséből, végül a fordításkor megadott MYSQL_PORT állandóból próbálja meg kideríteni a PHP. A windows alatt csak a MYSQL_PORT állandóval próbálkozik.
Az alapértelmezett socketnév helyi adatbázishoz való csatlakozáskor, ha nincs más socketnév megadva.
Az alapértelmezett adatbáziskiszolgáló, ha másképp nincs meghatározva. Nem alkalmazható safe mode-ban.
Az alapértelmezett felhasználónév, ha más módon nincs meghatározva. Nem alkalmazható safe mode-ban.
Az alapértelmezett jelszó, ha más módon nincs meghatározva. Nem alkalmazható safe mode-ban.
Kapcsolat elévülési ideje másodpercben. Linux alatt ennyi időt vár a PHP a szerver első válaszára.
Kétféle erőforrástípus van a MySQL modulban. Az első egy adatbáziskapcsolatot azonosít, a második pedig egy kérésre adott választ.
Az itt listázott állandókat ez a kiterjesztés definiálja, és csak akkor elérhetőek, ha az adott kiterjesztés be van fordítva a PHP-be, vagy dinamikusan betöltött.
A PHP 4.3.0-es változata óta lehetőség van a mysql_connect() és a mysql_pconnect() függvények számára kliens jelzőket átadni. A következő konstansok léteznek:
Táblázat 2. MySQL kliens állandók
Állandó | Leírás |
---|---|
MYSQL_CLIENT_COMPRESS | Tömörített protokoll használata |
MYSQL_CLIENT_IGNORE_SPACE | Függvénynevek után szóközök engedélyezése |
MYSQL_CLIENT_INTERACTIVE | Interactive_timeout másodpercnyi (wait_timeout helyett) tétlenség engedélyezése a kapcsolat bezárása előtt. |
A mysql_fetch_array() függvénynél az eredménytömb fajtáját konstans segítségével adhatod meg. Az alábbi állandókat használhatod:
Táblázat 3. MySQL fetch állandók
Állandó | Leírás |
---|---|
MYSQL_ASSOC | A tömb kulcsai az eredményben szereplő mezőnevek. |
MYSQL_BOTH | Az eredményt mezőnevek valamint az eredmény oszlopszáma alapján érheted el. |
MYSQL_NUM | Az eredmény oszlopai egy számmal indexelt tömb formájában állnak rendelkezésre. Az első oszlop indexe 0. |
Az alábbi példa bemutatja, hogyan kell csatlakozni, kéréseket végrehajtani, eredményt kinyomtatni és lecsatlakozni a MySQL szerverről.