PDO-ում PHP-ում պլեյսհոլդերների ինքնագիր քոթակում

Տեխնիկապես PDO-ն բոլոր տեղադրվող արժեքները քոթակում է՝ դրանք համարելով տողեր, նույնիսկ եթե դրանք փաստացի թվեր են: Դա թույլատրելի է SQL-ի շարահյուսությամբ: Ուստի պլեյսհոլդերները պետք չէ քոթակել, եթե դուք ունեք տողային արժեք:

Եկեք նայենք օրինակով: Ենթադրենք մեր փոփոխականում պահվում է տող.

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

Պոզիցիոն պլեյսհոլդերը պետք չէ քոթակել տողի մեջ այս դեպքում.

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

Անվանված պլեյսհոլդերը նույնպես պետք չէ քոթակել տողի մեջ.

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

Փաստը, որ հարցման մեջ միշտ տողեր կլինեն, ամեն դեպքում, երբեմն կարող է հանգեցնել խնդիրների SQL-ի շարահյուսության հետ - այնտեղ, որտեղ շարահյուսությամբ պարտադիր թվեր են: Այս դեպքում կարող եք օգտագործել պարամետրերի կապակցման այլընտրանքային եղանակ, որը մենք կքննարկենք հաջորդ դասերում: