Vietņturņu automātiskā ievietošana pēdiņās PDO PHP
Tehniski PDO visas ievietotās vērtības ieliek pēdiņās, uzskatot tās par virknēm, pat ja faktiski tās ir skaitļi. Tas ir pieļaujams pēc SQL sintakses. Tāpēc vietņturus nav nepieciešams ielikt pēdiņās, ja jums ir virknes vērtība.
Apskatīsim ar piemēru. Pieņemsim, ka mainīgajā ir saglabāta virkne:
<?php
$name = 'name1';
?>
Pozicionālo vietņturu šajā gadījumā nav nepieciešams ietilpināt virknē:
<?php
$sql = 'SELECT * FROM users WHERE name=?';
$res = $pdo->prepare();
$res->execute([$name]);
?>
Nosaukto vietņturu arī nav nepieciešams ietilpināt virknē:
<?php
$sql = 'SELECT * FROM users WHERE name=:name';
$res = $pdo->prepare();
$res->execute(['name' => $name]);
?>
Tas, ka vaicājumā vienmēr būs virknes, tomēr dažreiz var radīt problēmas ar SQL sintaksi - tur, kur sintakses noteikumi pieprasa obligāti skaitļus. Šajā gadījumā var izmantot alternatīvu parametru piesaistes veidu, ko mēs apskatīsim nākamajās nodarbībās.