Konekcija sa bazom podataka preko PDO u PHP-u

Hajde da uspostavimo konekciju sa bazom podataka preko PDO. Za početak, upišimo podatke za pristup u promenljive:

php<?php
  $host = 'localhost'; // ime hosta (uglavnom je uvek isto)
  $db = 'test';        // ime baze podataka
  $user = 'root';      // korisničko ime za pristup bazi podataka
  $pass = 'root';      // lozinka za pristup bazi podataka
?>

Sada treba da formiramo string u specijalnom formatu. U ovom stringu moramo da navedemo tip baze podataka koja se koristi (uglavnom, 'mysql'), ime hosta i ime baze podataka:

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

Zatim kreiramo niz opcija za PDO, koje ćemo koristiti u toku rada (za sada nemojte previše analizirati):

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

Sada možemo da izvršimo konekciju sa bazom podataka, koristeći gore definisane promenljive:

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

Gornji kod će ili uspostaviti konekciju sa bazom podataka, ili će baciti izuzetak. Stoga je ispravnije da umotamo konekciju u try-catch konstrukciju:

php<?php
  try {
    $pdo = new PDO($dsn, $user, $pass, $opt);
    echo 'Baza podataka je povezana';
  } catch(PDOException $e) {
    echo "Konekcija nije uspela: " . $e->getMessage();
  }
?>

Kompletan kod će izgledati ovako:

php<?php
  $host = 'localhost';
  $db = 'test';
  $user = ''; // korisničko ime za pristup bazi podataka
  $pass = ''; // lozinka za pristup bazi podataka
  $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 'Baza podataka je povezana';
  } catch(PDOException $e) {
    echo "Konekcija nije uspela: " . $e->getMessage();
  }
?>
Задание 1

Uspostavite konekciju sa vašom bazom podataka na način opisan u lekciji.