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;
?>

အသက်သည် ကိန်းရှင်တစ်ခု သို့မဟုတ် ဒုတိယတန်ဖိုးနှင့် ကိုက်ညီသောအသုံးပြုသူများကို ရယူပါ။