PHP-de PDO-da placeholderleriň awtomatik ýagdaýlary

Tehniki taýdan PDO, goýulýan ähli bahalary ýagdaýlara öwürýär we olary san bolsa-da setirler hasaplaýar. Bu SQL sintaksisi tarapyndan rugsat berilýär. Şonuň üçin, eger siziň setir bahaňyz bolsa, placeholderleri ýagdaýlara öwürmeli däl.

Mysal üçin serediň. Geliň, üýtgeýjide setir saklanýan bolsun:

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

Bu ýagdaýda, pozisional placeholder setire öwürilmeli däl:

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

Atlandyrylan placeholderem şeýlelikde setire öwürilmeli däl:

php<?php
  $sql = 'SELECT * FROM users WHERE name=:name';
  $res = $pdo->prepare();
  $res->execute(['name' => $name]);
?>

Soragda ähli wagty setirler boljakdygy, ýene-de käwagt SQL sintaksisi bilen meseleler döredip biler - sintaksis taýdan mecbur sanlar bolan ýerlerde. Bu ýagdaýda, indiki sapaklarda seredjek bolan parametrleri birikdirmegiň alternatiw usulyny ulanyp bolýar.