Lidhja me bazën e të dhënave përmes PDO në PHP

Le të kryejmë një lidhje me bazën e të dhënave përmes PDO. Së pari, le t'i shkruajmë kredencialet në variabla:

php<?php
  $host = 'localhost'; // emri i hostit (zakonisht është gjithmonë i tillë)
  $db = 'test';        // emri i bazës së të dhënave
  $user = 'root';      // emri i përdoruesit për hyrje në bazën e të dhënave
  $pass = 'root';      // fjalëkalimi për hyrje në bazën e të dhënave
?>

Tani duhet të krijojmë një varg në një format të veçantë. Në këtë varg duhet të specifikojmë llojin e bazës së të dhënave që përdoret (zakonisht, 'mysql'), emrin e hostit dhe emrin e bazës së të dhënave:

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

Pastaj krijojmë një grup me opsione PDO, që do t'i përdorim gjatë punës (mos u thelloni shumë tani për tani):

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

Tani mund të kryejmë lidhjen me bazën e të dhënave, duke përdorur variablat e deklaruar më sipër:

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

Kodi i paraqitur më sipër ose do të krijojë lidhjen me bazën e të dhënave, ose do të hedhë një përjashtim. Prandaj është më mirë ta mbështjellim lidhjen në një konstrukt try-catch:

php<?php
  try {
    $pdo = new PDO($dsn, $user, $pass, $opt);
    echo 'Baza e të dhënave është e lidhur';
  } catch(PDOException $e) {
    echo "Lidhja dështoi: " . $e->getMessage();
  }
?>

Kodi i plotë do të duket keshtu:

php<?php
  $host = 'localhost';
  $db = 'test';
  $user = ''; // emri i përdoruesit për hyrje në bazën e të dhënave
  $pass = ''; // fjalëkalimi për hyrje në bazën e të dhënave
  $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 e të dhënave është e lidhur';
  } catch(PDOException $e) {
    echo "Lidhja dështoi: " . $e->getMessage();
  }
?>
Задание 1

Vendosni një lidhje me bazën tuaj të të dhënave duke përdorur metodën e përshkruar në mësim.