Поврзување со база на податоци преку PDO во PHP

Да се поврземе со базата на податоци преку PDO. За почеток, да ги запишеме податоците за пристап во променливи:

php<?php
  $host = 'localhost'; // име на хост (најчесто е ова)
  $db = 'test';        // име на базата на податоци
  $user = 'root';      // корисничко име за пристап до базата
  $pass = 'root';      // лозинка за пристап до базата
?>

Сега треба да формираме стринг во специфичен формат. Во овој стринг треба да го наведеме типот на базата на податоци (најчесто, 'mysql'), името на хостот и името на базата:

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

Потоа креираме низа со PDO опции, кои ќе ги користиме во текот на работата (засега не навлегувајте во нив):

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

Сега можеме да извршиме поврзување со базата на податоци, користејќи ги претходно дефинираните променливи:

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

Горенаведениот код или ќе се поврзе со базата на податоци, или ќе фрли исклучок. Затоа е поправилно поврзувањето да го обвиеме во try-catch конструкција:

php<?php
  try {
    $pdo = new PDO($dsn, $user, $pass, $opt);
    echo 'Базата е поврзана';
  } catch(PDOException $e) {
    echo "Поврзувањето не успеа: " . $e->getMessage();
  }
?>

Целосниот код ќе изгледа вака:

php<?php
  $host = 'localhost';
  $db = 'test';
  $user = ''; // корисничко име за пристап до базата
  $pass = ''; // лозинка за пристап до базата
  $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 'Базата е поврзана';
  } catch(PDOException $e) {
    echo "Поврзувањето не успеа: " . $e->getMessage();
  }
?>
Задание 1

Воспоставете врска со вашата база на податоци на начинот опишан во лекцијата.