PDO তে নামযুক্ত প্লেসহোল্ডারগুলি PHP তে

সুবিধার জন্য, নামযুক্ত প্লেসহোল্ডারগুলি ব্যবহার করা যেতে পারে, যেখানে অ্যারেতে ভেরিয়েবলগুলির ক্রম গুরুত্বপূর্ণ নয়। আসুন দেখি সেগুলির সাথে কীভাবে কাজ করতে হয়।

ধরুন আমাদের আবার নিম্নলিখিত ভেরিয়েবলগুলি রয়েছে:

php<?php
  $min = 1;
  $max = 5;
?>

একটি SQL ক্যোয়ারী করা যাক, নামযুক্ত প্লেসহোল্ডারগুলি ব্যবহার করে। তাদের সিনট্যাক্স হল: কোলন, এবং তারপর প্লেসহোল্ডারের নাম। আসুন ক্যোয়ারীতে সেগুলি ব্যবহার করি:

php<?php
  $sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>

ক্যোয়ারী প্রস্তুত করি:

php<?php
  $res = $pdo->prepare($sql);
?>

ক্যোয়ারীটি এক্সিকিউট করুন, এটিকে প্যারামিটার হিসাবে একটি অ্যাসোসিয়েটিভ অ্যারে পাস করে, যেখানে কীগুলি হবে SQL ক্যোয়ারীতে প্লেসহোল্ডারগুলির নাম, এবং মানগুলি - সংশ্লিষ্ট ভেরিয়েবল:

php<?php
  $res->execute([
    'min' => $min,
    'max' => $max
  ]);
?>

আমরা ফলাফল দেখতে পারি:

php<?php
  while ($row = $res->fetch()) {
    var_dump($row);
  }
?>

সব একত্রিত করি এবং পাই নিম্নলিখিত কোড:

php<?php
  $min = 1;
  $max = 5;
  
  $sql = 'SELECT * FROM users WHERE id>:min and id<:max';
  $res = $pdo->prepare($sql);
  
  $res->execute([
    'min' => $min,
    'max' => $max
  ]);
  
  while ($row = $res->fetch()) {
    var_dump($row);
  }
?>
Задание 1

একটি ভেরিয়েবল দেওয়া হয়েছে:

php<?php
  $age = 30;
?>

সমস্ত ব্যবহারকারী খুঁজে বের করুন, যাদের বয়স প্রদত্ত ভেরিয়েবলের মানের সমান।

Задание 2

ভেরিয়েবলগুলি দেওয়া হয়েছে:

php<?php
  $age1 = 20;
  $age2 = 30;
?>

সমস্ত ব্যবহারকারী খুঁজে বের করুন, যাদের বয়স সীমার মধ্যে রয়েছে, ভেরিয়েবলগুলির মান দ্বারা নির্দিষ্ট।

Задание 3

ভেরিয়েবলগুলি দেওয়া হয়েছে:

php<?php
  $age1 = 20;
  $age2 = 30;
  
  $salary1 = 1000;
  $salary2 = 2000;
?>

সমস্ত ব্যবহারকারী খুঁজে বের করুন, যাদের বয়স এবং বেতন উভয়ই সীমার মধ্যে রয়েছে, ভেরিয়েবলগুলির মান দ্বারা নির্দিষ্ট।