Verbinding met 'n Databasis via PDO in PHP

Kom ons maak 'n verbinding met die databasis via PDO. Eerstens, laat ons die toegangsbesonderhede in veranderlikes stoor:

php<?php
  $host = 'localhost'; // gasheernaam (gewoonlik altyd so)
  $db = 'test';        // databasenaam
  $user = 'root';      // gebruikersnaam vir databasetoegang
  $pass = 'root';      // wagwoord vir databasetoegang
?>

Nou moet ons 'n string in 'n spesiale formaat saamstel. In hierdie string moet ons die tipe gebruikte DB spesifiseer (gewoonlik 'mysql'), die gasheernaam en die databasenaam:

php<?php
  $dsn = "mysql:host=$host; dbname=$db; charset=utf8";
?>

Skep dan 'n skikking van PDO-opsies wat ons in die werkproses sal gebruik (moenie vir nou te veel daarop ingaan nie):

php<?php
  $opt = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES => false,
  ];
?>

Nou kan ons die verbinding met die databasis uitvoer deur die bogenoemde veranderlikes te gebruik:

php<?php
  $pdo = new PDO($dsn, $user, $pass, $opt);
?>

Die bogenoemde kode sal óf 'n verbinding met die databasis tot stand bring, óf 'n uitsondering uitwerp. Daarom is dit korrek om die verbinding in 'n try-catch struktuur te verpak:

php<?php
  try {
    $pdo = new PDO($dsn, $user, $pass, $opt);
    echo 'DB is connected';
  } catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
  }
?>

Die volledige kode sal so lyk:

php<?php
  $host = 'localhost';
  $db = 'test';
  $user = ''; // gebruikersnaam vir databasetoegang
  $pass = ''; // wagwoord vir databasetoegang
  $charset = 'utf8';
  
  $dsn = "mysql:host=$host; dbname=$db; charset=$charset";
  
  $opt = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES => false,
  ];
  
  try {
    $pdo = new PDO($dsn, $user, $pass, $opt);
    echo 'DB is connected';
  } catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
  }
?>
Задание 1

Stig 'n verbinding met jou databasis deur die metode wat in die les beskryf word.