PDO::quote -- Citează un şir de utilizare într-o interogare.
Descriere
string PDO::quote ( string string [, int parameter_type] )
PDO::quote() aplică ghilimele în jurul textului introdus (dacă este nevoie) şi pune caracterul special escape în text, folosind stilul de ghilimele corespunzător driverului.
Dacă se foloseşte această funcţie pentru a construi instrucţiuni SQL, se recomandă să se folosească PDO::prepare() pentru a pregăti instrucţiunile SQL cu parametri legaţi în locul folosirii PDO::quote() pentru a interpola datele de intrare ale utilizatorului în instrucţiunea SQL. Instrucţiunile pregătite (prepared statements) cu parametri legaţi nu sunt doar mai portabile, mai convenabile, imune la injecţii SQL, ci şi mai rapide decât interogările interpolate, deoarece atât serverul cât şi clientul pot stoca în cache o formă compilată a interogării.
Nu toate driverele PDO pot implementa această metodă (PDO_ODBC). În locul ei se pot folosi instrucţiunile pregătite.
Parametri
string
Textul care va fi citat (pus între ghilimele).
parameter_type
Furnizează un tip de dată pentru driverele care au stiluri alternative de ghilimele. Valoarea implicită este PDO::PARAM_STR.
Valori întoarse
Întoarce un text între ghilimele care este teoretic sigur să fie adăugat la o instrucţiune SQL. Întoarce FALSE dacă driverul nu suportă ghilimele în acest mod.
Exemple
Citarea unui text normal
<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');
/* String normal */
$string = 'Nice';
print "String fara ghilimele: $string\n";
print "String cu ghilimele: " . $conn->quote($string) . "\n";
?>
Exemplul de mai sus va afişa:
String fara ghilimele: Nice
String cu ghilimele: 'Nice'
Citarea unui string "periculos"
<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');
/* String periculos */
$string = 'Naughty \' string';
print " String fara ghilimele: $string\n";
print " String cu ghilimele:" . $conn->quote($string) . "\n";
?>
Exemplul de mai sus va afişa:
String fara ghilimele: Naughty ' string
String cu ghilimele: 'Naughty '' string'
Citarea unui string complex
<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');
/* String complex */
$string = "Co'mpl''ex \"st'\"ring";
print " String fara ghilimele: $string\n";
print " String cu ghilimele: " . $conn->quote($string) . "\n";
?>
Exemplul de mai sus va afişa:
String fara ghilimele: Co'mpl''ex "st'"ring
String cu ghilimele: 'Co''mpl''''ex "st''"ring'