PHP en een MySQL database.

advertisement
mysql_php.doc
1/5
PHP en een MySQL database.
Om informatie uit een MySQL database op te halen moet je de volgende stappen
uitvoeren:
1. een verbinding maken met mysql;
2. een mysql database selecteren;
3. een querystring samenstellen;
4. de query uitvoeren;
5. de resultaatrecord(s) van de query ophalen;
6. de inhoud van de velden van de record(s) tonen in de webpagina;
7. de verbinding met mysql sluiten indien nodig.
Om informatie in een MySQL database te stoppen moet je de hierboven vermelde
eerste 4 stappen uitvoeren. Daarna moet je het resultaat van de actiequery (de SQL
statements: insert, update, delete) controleren om te vernemen of de actie geslaagd
is. Het is gebruikelijk om een foutboodschap te tonen als de terugkeerwaarde van de
functie mysql_query() niet 1 is. Daarna kan je eventueel stap 7 uitvoeren.
Jouw programma’s zullen deze stappen meermaals uitvoeren. Je kunt dan ook best
enkele functies schrijven die deze stappen op een veilige manier verwerken. Enkele
voorbeelden:
mysql_php.doc
2/5
In het voorbeeld hierboven moet je uiteraard de juiste informatie tussen de < >
tekens invullen: de naam van de database, de gebruikersnaam, het wachtwoord en
een E-mailadres. De eerste drie gegevens moeten gedefinieerd zijn in MySQL
database.
In de tabel “db” van de MySQL database moet je een record voorzien voor de te
gebruiken database en moet je een gebruiker invullen.
In de nieuwe record in de tabel “host” vul je de database naam in en in de tabel
“user” geef je de gebruikersnaam en zijn wachtwoord in.
In de drie records moet je ook nog de privileges goedzetten. Elke database en elke
gebruiker kan je o.a. select, insert, update en delete priveleges geven.
Deze administratie kan je uitvoeren met het programma phpMyAdmin.
En voor het ophalen van gegevens kan je de volgende functies schrijven. De
foutmelding wordt onderdrukt als je een @-teken voor de functienaam plaatst.
Deze functies kan je op de volgende manier gebruiken:
mysql_php.doc
3/5
In het onderstaande voorbeeld worden alle records afgelopen in een while-lus.
Tot slot nog een overzicht van de voornaamste MySQL functies. De te gebruiken
functie-argumenten kan je terugvinden in de PHP-handleiding.
Een verbinding met een MySQL database tot stand brengen.
Functienaam
mysql_connect()
mysql_pconnect()
mysql_close()
mysql_select_db()
mysql_create_db()
mysql_drop_db()
Omschrijving
Opent een verbinding met een MySQL
server
Opent een permanente verbinding met
een MySQL server
Sluit de verbinding met de MySQL
server
Stelt de huidige actieve database in op
de MySQL server
Maakt een nieuwe database op de
MySQL server
Verwijdert een database op de MySQL
server
Type terugkeerwaarde
link identifier
link identifier
boolean (true = succes)
boolean (true = succes)
boolean (true = succes)
boolean (true = succes)
Query’s uitvoeren.
Functienaam
mysql_query()
mysql_db_query()
Omschrijving
Stuurt een MySQL query naar de
huidige actieve database
Selecteert een database en voert een
query uit op die database
Type terugkeerwaarde
result identifier
(SELECT, SHOW,
EXPLAIN, DESCRIBE)
of boolean (true =
succes)
result identifier of
boolean (true = succes)
(INSERT, UPDATE,
DELETE)
mysql_php.doc
4/5
Database informatie opvragen.
Functienaam
mysql_list_dbs()
mysql_list_tables()
mysql_list_fields()
Omschrijving
Geeft een lijst van de beschikbare
databases op de MySQL server
Geeft een lijst van tabellen in een
database
Geeft een lijst van veldnamen van een
tabel in een database
Type terugkeerwaarde
result identifier
result identifier
result identifier
Foutberichten van MySQL.
Functienaam
mysql_error()
mysql_errno()
Omschrijving
Geeft de tekst van het foutbericht van
de vorige MySQL operatie
Geeft het nummer van het foutbericht
van de vorige MySQL operatie
Type terugkeerwaarde
string
integer
MySQL resultaatwaarden.
Functienaam
mysql_affected_rows()
mysql_insert_id()
mysql_num_rows()
mysql_num_fields()
Omschrijving
Geeft het aantal betrokken records in
de vorige MySQL operatie (INSERT,
UPDATE, DELETE)
Geeft het ID (auto-increment kolom)
dat gegenereerd werd door de vorige
INSERT query
Geeft het aantal records in een
resultaat set (SELECT)
Geeft het aantal velden in een
resultaat set
Type terugkeerwaarde
integer
integer
integer
integer
Queryresultaten ophalen.
Functienaam
mysql_result()
mysql_free_result()
mysql_fetch_row()
mysql_fetch_object()
mysql_fetch_array()
mysql_data_seek()
mysql_fetch_lengths()
Omschrijving
Geeft de inhoud van een veld in een
resultaat set
Maakt het geheugen van het resultaat
vrij
Haalt een resultaat record op als een
genummerde array
Haalt een resultaat record op als een
object
Haalt een resultaat record op als een
associatieve of genummerde array
Verplaatst het interne resultaat pointer
Geeft een array met de lengten van elk
veld in de laatst opgehaalde record
Type terugkeerwaarde
mixed
boolean (true = succes)
genummerde array
object
associatieve of
genummerde array
boolean (true = succes)
genummerde array
mysql_php.doc
5/5
Velden informatie ophalen.
Functienaam
mysql_fetch_field()
mysql_field_seek()
mysql_field_name()
mysql_field_table()
mysql_field_len()
mysql_field_type()
mysql_field_flags()
Omschrijving
Haalt kolom informatie uit een resultaat
en geeft die terug als een object
Zet de resultaat pointer op een
gegeven veld index
Haalt de naam van een gegeven veld
in een resultaat
Geeft de naam van de tabel waar het
gegeven veld in zit
Geeft de lengte van het gegeven veld
Geeft het type van een gegeven veld in
een resultaat
Haalt de flags op die geassocieerd
worden met het gegeven veld in een
resultaat
Type terugkeerwaarde
object
integer
string
string
integer
string
string (woorden
gescheiden door een
spatie)
Download