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
$name = 'name1';
?>
Në këtë rast, një placeholder pozicional nuk ka nevojë të mbështjellet si string:
<?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
$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.