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 'DB is connected';
  } catch(PDOException $e) {
    echo "Connection failed: " . $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 'DB is connected';
  } catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
  }
?>
Задание 1

পাঠে বর্ণিত পদ্ধতিতে আপনার ডাটাবেসের সাথে সংযোগ স্থাপন করুন।