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)