PDO'da Pozisyonel Değişken Bağlama

Değişkenleri sorguya teker teker bağlayabilirsiniz. Bu, bindValue yöntemi kullanılarak yapılır. Ardından hazırlanan sorgu çalıştırılır, ancak bu durumda execute'a hiçbir şey iletilmez.

Bu tür bağlama, sayısal değerler için otomatik tırnaklama işlemini iptal ederek değişkenin tam türünü belirtmeye olanak tanır. Nasıl yapıldığını görelim. Elimizde iki değişken olsun, biri string diğeri sayısal:

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

Sorguyu hazırlayalım:

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

Şimdi değişkenleri bindValue yöntemini kullanarak sorguya bağlayalım. Yöntemin ilk parametresinde sorgudaki pozisyon numarası, ikinci parametresinde değişkenin adı belirtilir, üçüncü parametrede ise değişkenin türü (sayısal veya string) belirtilir:

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

Sorguyu çalıştıralım:

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

Sonuca bakalım:

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

Aşağıdaki değişkenler verilmiştir:

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

İsmi birinci veya ikinci değişkenin değeri ile eşleşen kullanıcıları getirin.

Задание 2

Aşağıdaki değişkenler verilmiştir:

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

Yaşı birinci veya ikinci değişkenin değeri ile eşleşen kullanıcıları getirin.