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. mysql_connect() Opent een verbinding met een MySQL link identifier mysql_pconnect() Opent een permanente verbinding met link identifier een MySQL mysql_close() Sluit de verbinding met de MySQL boolean (true = succes) mysql_select_db() Stelt de huidige actieve database in op boolean (true = succes) de MySQL mysql_create_db() Maakt een nieuwe database op de boolean (true = succes) MySQL mysql_drop_db() Verwijdert een database op de MySQL boolean (true = succes) Query s uitvoeren. mysql_query() Stuurt een MySQL query naar de huidige actieve database result identifier (SELECT, SHOW, EXPLAIN, DESCRIBE) of boolean (true = mysql_db_query() Selecteert een database en voert een query uit op die database succes) result identifier of boolean (true = succes) (INSERT, UPDATE, DELETE)
mysql_php.doc 4/5 Database informatie opvragen. mysql_list_dbs() Geeft een lijst van de beschikbare result identifier databases op de MySQL mysql_list_tables() Geeft een lijst van tabellen in een result identifier database mysql_list_fields() Geeft een lijst van veldnamen van een tabel in een database result identifier Foutberichten van MySQL. mysql_error() Geeft de tekst van het foutbericht van string de vorige MySQL operatie mysql_errno() Geeft het nummer van het foutbericht van de vorige MySQL operatie integer MySQL resultaatwaarden. mysql_affected_rows() Geeft het aantal betrokken records in integer de vorige MySQL operatie (INSERT, UPDATE, DELETE) mysql_insert_id() Geeft het ID (auto-increment kolom) integer dat gegenereerd werd door de vorige INSERT query mysql_num_rows() Geeft het aantal records in een integer resultaat set (SELECT) mysql_num_fields() Geeft het aantal velden in een resultaat set integer Queryresultaten ophalen. mysql_result() Geeft de inhoud van een veld in een mixed resultaat set mysql_free_result() Maakt het geheugen van het resultaat boolean (true = succes) vrij mysql_fetch_row() Haalt een resultaat record op als een mysql_fetch_object() Haalt een resultaat record op als een object object mysql_fetch_array() Haalt een resultaat record op als een associatieve of associatieve of mysql_data_seek() Verplaatst het interne resultaat pointer boolean (true = succes) mysql_fetch_lengths() Geeft een array met de lengten van elk veld in de laatst opgehaalde record
mysql_php.doc 5/5 Velden informatie ophalen. mysql_fetch_field() Haalt kolom informatie uit een resultaat object en geeft die terug als een object mysql_field_seek() Zet de resultaat pointer op een integer gegeven veld index mysql_field_name() Haalt de naam van een gegeven veld string in een resultaat mysql_field_table() Geeft de naam van de tabel waar het string gegeven veld in zit mysql_field_len() Geeft de lengte van het gegeven veld integer mysql_field_type() Geeft het type van een gegeven veld in string een resultaat mysql_field_flags() Haalt de flags op die geassocieerd worden met het gegeven veld in een resultaat string (woorden gescheiden door een spatie)