LXIII. MySQL Functies

Introductie

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 : / /www.mysql.com / documentation / .

Afhankelijkheden

Om deze functies te gebruiken moet PHP gecompileerd zijn met ondersteuning voor MySQL .

Installatie

Door de --with-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 .

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 .

Configuratie tijdens scriptuitvoer

Het gedrag van deze functies kan worden beï vanuit php.ini .

Tabel 1 . MySQL Configuratie Opties

Naam Standaard Veranderbaar
Zie ook ini_set() voor verdere details en de definitie van de PHP_INI_* constanten.

Hieronder volgt een korte uitleg van de configuratie - instructies

mysql.allow_persistent boolean

Zijn persistent connections in MySQL toegestaan of niet .

mysql.max_persistent integer

Het maximale aantal persistent MySQL connecties per proces .

mysql.max_links integer

Het maximale aantal MySQL connecties per proces , inclusief de persistent connecties .

mysql.default_port string

Het 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 string

De 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 string

De 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 string

De 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 string

Het 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 integer

Pauze ( 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 .



Resource types

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 .

Voorgedefineerde constanten

Deze constanten worden gedefineerd 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
Gebruik compressie protocol .
Sta een spatie toe na functienamen .
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
Kolommen worden geretourneerd in de reeks waarbij de veldnaam als reeksindex wordt gebruikt .
Kolommen worden geretourneerd in de reeks waarbij zowel de veldnaam als een numerieke index als reeksindex wordt gebruikt .
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 .


Voorbeelden

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 .

Voorbeeld 1 . MySQL extensie overzicht voorbeeld

 
?php

 
/

 
/

 
Verbinding

 
maken

 
,

 
een

 
database

 
selecteren

 
$link

 
=

 
mysql_connect(

 
"mysql_host"

 
,

 
"mysql_login"

 
,

 
"mysql_password"

 
)

 
or

 
die("Kan

 
geen

 
verbinding

 
maken")

 
;

 
print

 
"Verbinding

 
succesvol

 
gemaakt"

 
;

 
mysql_select_db("my_database"

 
)

 
or

 
die("Kan

 
geen

 
database

 
selecteren")

 
;

 
/

 
/

 
Een

 
SQL

 
query

 
uitvoeren

 
$query

 
=

 
"SELECT

 
*

 
FROM

 
my_table"

 
;

 
$result

 
=

 
mysql_query($query

 
)

 
or

 
die("Fout

 
bij

 
uitvoeren

 
query")

 
;

 
/

 
/

 
Printen

 
resultaten

 
in

 
HTML

 
print

 
"

 
table

 
\n"

 
;

 
while

 
($line

 
=

 
mysql_fetch_array($result

 
,

 
MYSQL_ASSOC)

 
)

 
{

 
print

 
"\t

 
tr

 
\n"

 
;

 
foreach

 
($line

 
as

 
$col_value

 
)

 
{

 
print

 
"\t\t

 
td

 
$col_value

 
/

 
td

 
\n"

 
;

 
     }

 
print

 
"\t

 
/

 
tr

 
\n"

 
;

 
 }

 
print

 
"

 
/

 
table

 
\n"

 
;

 
/

 
/

 
Resultaat-set

 
vrij

 
maken

 
mysql_free_result($result)

 
;

 
/

 
/

 
Verbinding

 
afsluiten

 
mysql_close($link)

 
;

 
 ?





Inhoudsopgave
mysql_affected_rows -- Geeft het aantal betrokken rijen in de vorige MySQL operatie
mysql_change_user -- Verander de ingelogde gebruiker van de actieve sessie
mysql_character_set_name -- Geeft de naam van de character set terug
mysql_close -- Sluit MySQL verbinding
mysql_connect -- Maak een verbinding met een MySQL Server
mysql_create_db -- Maakt een nieuwe MySQL database
mysql_data_seek -- Verplaats interne resultaat pointer
mysql_db_name -- Haal resultaat-gegevens
mysql_db_query -- Stuur een MySQL query
mysql_drop_db -- Verwijder een MySQL database
mysql_errno -- Geeft de numerieke waarde van het foutbericht van de vorige MySQL operatie.
mysql_error -- Geeft de tekst van het foutbericht van de vorige MySQL operatie
mysql_escape_string -- Escapet een string voor gebruik in een MySQL query
mysql_fetch_array -- Haal een resultaat rij op als een associatieve array, een numerieke array, of beiden
mysql_fetch_assoc -- Haal een resultaat rij op als een associatieve array
mysql_fetch_field -- Haal kolom informatie uit een resultaat en geef die terug als object
mysql_fetch_lengths -- Haal de lengte op van elke output in een resultaat
mysql_fetch_object -- Haal een resultaat rij op als een object
mysql_fetch_row -- Haal een resultaat rij op als een genummerde array
mysql_field_flags -- Haal de flags op die geassocieerd worden met het gegeven veld in een resultaat
mysql_field_len -- Geeft de lengte van het gegeven veld terug
mysql_field_name -- Haal de naam op van het gegeven veld in een resultaat
mysql_field_seek -- Zet de resultaat pointer op een gegeven veld index
mysql_field_table -- Geef de naam van de tabel waar het gegeven veld in zit
mysql_field_type -- Geef het type van het gegeven veld in een resultaat
mysql_free_result -- Maak geheugen van het resultaat vrij
mysql_get_client_info -- Geef MySQL client info
mysql_get_host_info -- Geef MySQL host info
mysql_get_proto_info -- Geef MySQL protocol info
mysql_get_server_info -- Geef MySQL server info
mysql_info -- Haal informatie op over de recentste query
mysql_insert_id -- Geef het id dat gegenereerd werd door de vorige INSERT query
mysql_list_dbs -- Geef een lijst van beschikbare databases op een MySQL server
mysql_list_fields -- Geef een lijst van MySQL resultaat velden
mysql_list_processes -- Geef een lijst van MySQL processen
mysql_list_tables -- Geef een lijst van tabellen in een MySQL database
mysql_num_fields -- Geef het aantal velden in een resultaat
mysql_num_rows -- Geef het aantal rijen in een resultaat
mysql_pconnect -- Open een persistente verbinding naar een MySQL server
mysql_ping -- Ping een server connectie of maak weer verbinding als er geen verbinding is
mysql_query -- Verstuur een MySQL query
mysql_real_escape_string -- Escapet speciale karakters in een string die wordt gebruikt in een SQL statement, waarbij de huidige charset van de verbinding in het oog wordt gehouden.
mysql_result -- Geef de resultaat data
mysql_select_db -- Selecteer een MySQL database
mysql_stat -- Geef huidige systeem status
mysql_tablename -- Geef de tabelnaam van een veld
mysql_thread_id -- Geef het huidige thread ID terug
mysql_unbuffered_query -- Stuur een SQL query naar MySQL zonder resultaten op te halen en te bufferen