Mbështjellja Automatike e Placeholder-ëve me thonjëza në PDO në PHP

Nga ana teknike, PDO i mbyll të gjitha vlerat e vendosura në thonjëza, duke i konsideruar ato si stringje, edhe nëse në fakt ato janë numra. Kjo është e lejueshme nga sintaksa e SQL. Prandaj placeholder-ët nuk kanë nevojë të mbështjellen me thonjëza, nëse keni vlerë string.

Le ta shohim me një shembull. Le të supozojmë se në variabël ruhet një string:

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

Në këtë rast, një placeholder pozicional nuk ka nevojë të mbështjellet si string:

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

Një placeholder i emërtur gjithashtu nuk ka nevojë të mbështjellet si string:

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

Fakti që në kërkesë do të ketë gjithmonë stringje, megjithatë nganjëherë mund të çojë në probleme me sintaksën SQL - aty ku sipas sintaksës domosdoshmërisht duhen numra. Në këtë rast mund të përdoret një mënyrë alternative për lidhjen e parametrave, të cilën do ta shqyrtojmë në mësimet në vijim.