PHP හි PDO හි විචල්ය පිහිටීම් බන්ධනය

විමසුමට විචල්ය එකින් එක බැඳිය හැකිය. මෙය සිදු කරනු ලබන්නේ bindValue ක්‍රමය භාවිතයෙනි. ඉන්පසු ලබාගත් විමසුම ක්‍රියාත්මක කරන නමුත් මෙම අවස්ථාවේ දී execute වෙත කිසිවක් යොමු නොකෙරේ.

මෙවැනි බන්ධනයක් විචල්යයේ වර්ගය නිශ්චිතව නියම කිරීමට ඉඩ සලසයි, සංඛ්‍යාත්මක අගයන් සඳහා ස්වයංක්‍රීයව උපුටා ගැනීම අවලංගු කරයි. අපි බලමු මෙය කරන්නේ කෙසේද කියා. අපට විචල්ය දෙකක් ඇතැයි සිතමු, පේළිගත සහ සංඛ්‍යාත්මක:

php<?php
  $name = 'name1';
  $age  = 25;
?>

විමසුම සකස් කරමු:

php<?php
  $sql = 'SELECT * FROM users WHERE name=? or age=?';
  $res = $pdo->prepare($sql);
?>

දැන් bindValue ක්‍රමය භාවිතයෙන් විමසුමට විචල්ය බන්ධනය කරමු. ක්‍රමයේ පළමු පරාමිතිය ලෙස විමසුමේ පිහිටීමේ අංකය නියම කරන අතර, දෙවන පරාමිතිය ලෙස විචල්යයේ නම, තුන්වන පරාමිතිය ලෙස විචල්යයේ වර්ගය (සංඛ්‍යාත්මක හෝ පේළිගත) නියම කරයි:

php<?php
  $res->bindValue(1, $name, PDO::PARAM_INT);
  $res->bindValue(2, $age,  PDO::PARAM_STR);
?>

විමසුම ක්‍රියාත්මක කරමු:

php<?php
  $res->execute();
?>

ප්‍රතිඵලය බලමු:

php<?php
  while ($row = $res->fetch()) {
    var_dump($row);
  }
?>
Задание 1

විචල්ය ලබා දී ඇත:

php<?php
  $name1 = 'name1';
  $name2 = 'name2';
?>

නම එක් විචල්යයක හෝ දෙවන විචල්යයේ අගයට යෙදෙන පරිශීලකයන් ලබා ගන්න.

Задание 2

විචල්ය ලබා දී ඇත:

php<?php
  $age1 = 21;
  $age2 = 22;
?>

වයස එක් විචල්යයක හෝ දෙවන විචල්යයේ අගයට යෙදෙන පරිශීලකයන් ලබා ගන්න.