PHP Object georiënteerd

CRUD applicatie

Connectie maken

<?php
  // zie https://phpdelusions.net/pdo

  $host = '127.0.0.1';
  $db   = 'test';
  $user = 'root';
  $pass = '';
  $charset = 'utf8mb4';

  $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  $options = [
      PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
      PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
      PDO::ATTR_EMULATE_PREPARES   => false,
  ];
  $pdo = new PDO($dsn, $user, $pass, $options);

Een database aanmaken

In de terminal of in phpMyAdmin kun je een nieuwe database aanmaken met create database <databasenaam>

Gegevens importeren in phpMyAdmin

In phpMyAdmin kun je bij de tab SQL data van een sql-bestand importeren. Open het sql-bestand in een code-editor en kopieer alle tekst met ctrl-a. Plak alle tekst met ctrl-v in het sql-venster in phpMyAdmin. Of In de terminal doe je source c:\pad\naar\mijndata.sql

Gegevens weergeven in HTML

Een record toevoegen

Een record aanpassen

Een record verwijderen

XAMPP

Xampp wordt geleverd met Apache, PHP en MySQL. Daarnaast wordt er met Xampp een php-applicatie meegeleverd met de naam 'phpMyAdmin'. 'phpMyAdmin' is gemaakt met php en het is bedoeld om een databaseserver mee te beheren. Je kunt phpMyAdmin openen vanuit het Xampp control-panel of je gaat direct naar http://localhost/phpmyadmin/.
In phpMyAdmin kun je databases aanmaken en configureren.

Testen

Als je een php-pagina maakt met bovenstaande code, dan kan het zijn dat e.e.a. nog niet meteen werkt.

Opdrachten

Opdracht 1.1

Download het bestand school.sql
Installeer de database school:
Open phpMyAdmin en klik op de tab "SQL". Plak de inhoud van het bestand school.sql in het venster en klik op 'Go'. Verifieer of er in de linker-kolom van phpMyAdmin een nieuwe database met de naam 'school' verschijnt. Pas de code voor de databaseconnectie aan zodat PHP een connectie maakt met de database 'school'. Voeg onderstaande code toe en test of je de gegevens van alle cursisten uit de database school te zien krijgt!


// Bouw een query
$query = $connection->prepare("SELECT *  FROM cursist");

// Voer de query uit
$query->execute();

// Haal alle records op en maak van de gegevens een associatieve array
$result = $query->fetchAll(PDO::FETCH_ASSOC);

// Geef alle elementen uit de array $result weer.
print_r($result);

Opdracht 1.2

Maak met behulp van phpmyadmin een extra password veld in de tabel cursist. Verzin passwords voor de verschillende cursisten en voeg ze toe aan de tabel. Maak een login-systeem waarbij er wordt gecontroleerd op de naam en het password van de cursisten