PDO::quote()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

PDO::quote

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.1)

PDO::quote — Infogar citattecken runt en sträng för användning i en SQL-fråga.

Beskrivning

public PDO::quote(string $string, int $type = PDO::PARAM_STR): string|false

PDO::quote() lägger till citattecken runt den angivna strängen (om det behövs) och flyr specialtecken i strängen med en citeringsstil som är lämplig för den underliggande drivrutinen.

Viktigt: Det rekommenderas starkt att använda PDO::prepare för att förbereda SQL-uttryck med bundna parametrar istället för att använda PDO::quote() för att interpolera användarinmatning i ett SQL-uttryck. Förberedda uttryck är mer portabla, bekvämare, skyddade mot SQL-injektion och oftast snabbare.

Observera att inte alla PDO-drivrutiner implementerar denna metod (till exempel PDO_ODBC). Använd förberedda uttryck istället om möjligt.

Parametrar

string
Strängen som ska citeras.
type
Ger en ledtråd om datatypen för drivrutiner som har alternativa citeringsstilar.
Exempel: PDO::PARAM_LOB informerar drivrutinen att data är binära.

Returvärden

Returnerar en citerad sträng som teoretiskt är säker att använda i ett SQL-uttryck. Returnerar false om drivrutinen inte stöder citering på detta sätt.

Exempel

Exempel 1: Citering av en vanlig sträng

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Enkel sträng */
$string = 'Nice';
print "Okvoterad sträng: $string\n";
print "Kvoterad sträng: " . $conn->quote($string) . "\n";
?>

Utdata:

Okvoterad sträng: Nice
Kvoterad sträng: 'Nice'

Exempel 2: Citering av en farlig sträng

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Farlig sträng */
$string = 'Naughty \' string';
print "Okvoterad sträng: $string\n";
print "Kvoterad sträng: " . $conn->quote($string) . "\n";
?>

Utdata:

Okvoterad sträng: Naughty ' string
Kvoterad sträng: 'Naughty '' string'

Exempel 3: Citering av en komplex sträng

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Komplex sträng */
$string = "Co'mpl''ex \"st'\"ring";
print "Okvoterad sträng: $string\n";
print "Kvoterad sträng: " . $conn->quote($string) . "\n";
?>

Utdata:

Okvoterad sträng: Co'mpl''ex "st'"ring
Kvoterad sträng: 'Co''mpl''''ex "st''"ring'

Se även

Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/pdo.quote.php
PHP Funktioner Funktionsreferens Databas-tillägg


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Huddinge Datorhjälp som har sponsrat Linux.se med webbhotell.