Deze functies maken toegang tot MySQL database servers mogelijk. Meer informatie over MySQL is te vinden op http://www.mysql.com/.
Documentatie over MySQL is te vinden op http://dev.mysql.com/doc/.
Om deze functies te gebruiken moet PHP gecompileerd zijn met ondersteuning voor MySQL.
Door de --with-mysql
configuratie optie
te gebruiken kan PHP toegang krijgen tot MySQL databases. Als deze optie
gebruikt wordt zonder het pad naar MySQL te specificeren, zal PHP de
ingebouwde MySQL client libraries gebruiken. Met PHP4 is MySQL
ondersteuning altijd aan; als je de configuratie optie niet specificeert,
worden de bijgevoegde libraries gebruikt. Gebruikers die andere
applicaties draaien die MySQL gebruiken (bijvoorbeeld mensen die PHP 3 en
PHP 4 naast elkaar draaien als Apache modules, of auth-mysql) moeten
altijd het pad naar MySQL specificeren: --with-mysql=/path/to/mysql
. Dit zorgt ervoor
dat PHP de client libraries die door MySQL geinstalleerd zijn gebruikt,
zodat een conflict voorkomen wordt.
Deze functies worden automatisch ingebouwd in de windows versie van PHP. Er zijn geen extra handelingen nodig om deze functies te gebruiken.
Waarschuwing |
Crashes en problemen met het opstarten van PHP kunnen voorkomen als deze extensie samen met de recode extensie wordt geladen. Zie de recode extensie voor meer informatie. |
Het gedrag van deze functies wordt beïnvloed vanuit php.ini.
Tabel 1. MySQL Configuratie Opties
Naam | Standaard | Veranderbaar |
---|---|---|
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_ALL |
Hieronder volgt een korte uitleg van de configuratie - instructies
mysql.allow_persistent
booleanZijn persistent connections in MySQL toegestaan of niet.
mysql.max_persistent
integerHet maximale aantal persistent MySQL connecties per proces.
mysql.max_links
integerHet maximale aantal MySQL connecties per proces, inclusief de persistent connecties.
mysql.default_port
stringHet standaard TCP poort nummer te gebruiken wanneer een verbinding met de database server gemaakt moet worden als geen poort is opgegeven. Als geen standaard poort is opgegeven dan wordt de poort verkregen (in deze volgorde) van de omgevingsvariabele MYSQL_TCP_PORT, de mysql-tcp regel in /etc/services of de constante MYSQL_PORT tijdens het compileren. Win32 zal alleen de MYSQL_PORT constante gebruiken.
mysql.default_socket
stringDe standaard socket naam te gebruiken wanneer lokaal een verbinding moet worden gemaakt met een database server indien geen andere socket naam is opgegeven.
mysql.default_host
stringDe standaard host naam te gebruiken wanneer lokaal een verbinding moet worden gemaakt met een database server indien geen andere socket naam is opgegeven. Dit is niet van kracht bij het gebruik van safe mode.
mysql.default_user
stringDe standaard gebruikersnaam te gebruiken wanneer een verbinding moet worden gemaakt met een database server indien geen andere naam is opgegeven. Dit is niet van kracht bij het gebruik van safe mode.
mysql.default_password
stringHet standaard wachtwoord te gebruiken wanneer een verbinding moet worden gemaakt met een database server indien geen ander wachtwoord is opgegeven. Dit is niet van kracht bij het gebruik van safe mode.
mysql.connect_timeout
integerPauze (in seconden) bij het verbinden met een database. Bij Linux wordt deze pauze ook gebruikt voor het wachten op een eerste antwoord van de server.
De MySQL module gebruikt twee resource typen. De eerste is de link identifier voor een verbinding met een database, de tweede is een resource voor de resultaten van een query.
Deze constanten worden gedefinieerd door deze extensie, en zullen alleen beschikbaar zijn als de extensie met PHP is meegecompileerd, of als deze dynamisch is geladen vanuit een script.
Vanaf PHP 4.3.0 is het mogelijk om additionele client opties voor de functies mysql_connect() en mysql_pconnect() in te stellen. De volgende constanten zijn gedefiniëerd:
Tabel 2. MySQL client constanten
constante | beschrijving |
---|---|
MYSQL_CLIENT_COMPRESS | Gebruik compressie protocol. |
MYSQL_CLIENT_IGNORE_SPACE | Sta een spatie toe na functienamen. |
MYSQL_CLIENT_INTERACTIVE | Sta interactive_timeout seconden van inactiviteit (in plaats van wait_timeout) toe alvorens een connectie te sluiten. |
De functie mysql_fetch_array() gebruikt een constante voor de verschillende resultaat reeksen. De volgende constanten zijn gedefiniëerd:
Tabel 3. MySQL fetch constanten
constante | beschrijving |
---|---|
MYSQL_ASSOC | Kolommen worden geretourneerd in de reeks waarbij de veldnaam als reeksindex wordt gebruikt. |
MYSQL_BOTH | Kolommen worden geretourneerd in de reeks waarbij zowel de veldnaam als een numerieke index als reeksindex wordt gebruikt. |
MYSQL_NUM | Kolommen worden geretourneerd in de reeks waarbij een numerieke index als reeksindex wordt gebruikt. Deze index begint bij 0, het eerste veld in het resultaat. |
Dit simpele voorbeeld laat zien hoe verbinding met een MySQL database tot stand wordt gebracht, er een query wordt uitgevoerd, resulterende rijen worden geprint en hoe de verbinding weer wordt gesloten.