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
$name = 'name1';
?>
Bu ýagdaýda, pozisional placeholder setire öwürilmeli däl:
<?php
$sql = 'SELECT * FROM users WHERE name=?';
$res = $pdo->prepare();
$res->execute([$name]);
?>
Atlandyrylan placeholderem şeýlelikde setire öwürilmeli däl:
<?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.