5. PHP en MySQL

5.1. Databases

Als we data willen opslaan (bijvoorbeeld uit webformulieren) dan kunnen we dat in tekstbestanden doen. En dat gaat goed zolang het niet teveel data is en zolang we geen ingewikkelde bewerkingen of zoektochten door deze data ondernemen. Zodra we dat wél willen doen wordt het slim een database systeem te gebruiken. De database zorgt voor de opslag in bestanden, daar heb je niets meer mee te maken. En verder biedt de database een systeem om bevraging op de data los te laten. Dit gaat via SQL, (Structured Query Language). SQL behandelen we in het volgende hoofdstuk al zal er hier ook al wat van te zien zijn.

5.2. MySQL

MySQL is zo'n database systeem, we gebruiken dit systeem omdat:

  • het open source (en dus gratis) is
  • het ondanks dat het gratis is, een zeer uitgebreide en stabiele database server is
  • het de meeste gebruikte database in combinatie met PHP is
  • al geïnstalleerd staat op uw computer als u XAMPP geïnstalleerd heeft
Genoeg redenen dus, maar het is ook mogelijke andere database-systemen als Microsoft Access, Postgress of SQL server te gebruiken.

5.3. PhpMyAdmin

Een database is een systeem dat zorg draagt voor het opslaan, bewerken en bevragen van data. En dat is eigenlijk ook alles wat het is. Er is niets aan te zien. Als u Microsoft Access wel eens geopend heeft, dan weet u dat daar wel wat te zien is (tabellen, queries, formulieren, etc). Al wordt dit vaak de database genoemd, het is in feite een DBMS (DataBase Management System) dat u ziet. Een DBMS is de interface voor een gebruiker naar de achterliggende database. Voor MySQL hebben we ook zo'n interface nodig, er zijn er meerdere, maar wederom kiezen we voor de meest gebruikte en meest gebruikersvriendelijke variant die wederom al op uw computer is geïnstalleerd als u XAMP heeft geïnstalleerd. Dit DBMS heet PhpMyAdmin.

PhpMyAdmin is te vinden, als het geïnstalleerd staat, op http://localhost/phpmyadmin/. In dit geval is het DBMS niet beveiligd (u hoeft niet in te loggen), omdat we alleen op de eigen computer werken. In PhpMyAdmin kunnen we de databases bewerken. We kunnen nieuwe databases aanmaken, tabellen toevoegen, tabellen veranderen, verwijderen, de databases bevragen en nog meer. Voor meer informatie kunt u de website van het PhpMyAdmin Project bekijken.

5.4. Een database

Het gaat te ver om hier heel uitgebreid in te gaan op hoe databases exact werken. U kunt bij ons een training MySQL Administering volgen. Wat we wel doen is een database aanmaken die de reacties uit ons formulier op kan slaan. Het wordt een Database die reacties heet met twee tabellen:

database

Opmerking: de bovenstaande afbeelding is met MS Acces gemaakt omdat PhpMyAdmin niet een dergelijke weergave heeft. Het is slechts bedoeld als illustratie!

Wat we zien is een database (het geheel) die reacties heet. Twee zogenaamde tabellen die personen en reacties heten. Beide tabellen hebben op hun beurt weer zogenaamde attributen. Verder is er een één-op-veel relatie tussen personen en reacties hetgeen zoveel wil zeggen dat één persoon meerdere reacties kan maken. Een ander belangrijk aspect is dat beide tabellen een attribuut Id hebben. Dit zorgt ervoor dat een record dat uiteindelijk in de tabel komt te staan uniek te identificeren is (het is mogelijk dat een persoon twee keer hetzelfde berichtje stuurt, deze willen we wel uit elkaar kunnen houden).

U kunt proberen zelf bovenstaande database aan te maken met behulp van PhpMyAdmin. U kunt ook gewoon create.txt downloaden, de inhoud naar het klembord kopiëren, naar http://localhost/phpmyadmin/ surfen en links op het knopje SQL (sql) klikken. Er verschijnt dan een zogenaamd query window alwaar u de inhoud van het klembord kunt plakken. Op Go (of start afhankelijk van uw versie) drukken zorgt ervoor dat de database Reacties aangemaakt wordt! In het volgende hoofdstuk gaan we hier mee verder.