Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Bearbetar en sträng för användning i en fråga genom att placera citattecken runt indatasträngen enligt krav från den underliggande SQL Server-databasen. PDO::quote kommer att undvika specialtecken inom inmatningssträngen med en citeringsstil som är lämplig för SQL Server.
Syntax
string PDO::quote( $string[, $parameter_type ] )
Parameters
$ string: Strängen för att citera.
$ parameter_type: En valfri (heltals) symbol som anger datatypen. Standardinställningen är PDO::P ARAM_STR.
Nya PDO-konstanter introducerades i PHP 7.2 för att lägga till stöd för att binda Unicode- och icke-Unicode-strängar. Unicode-strängar kan omges av citattecken med ett N som prefix (dvs. N'sträng' istället för 'sträng').
- PDO::P ARAM_STR_NATL - en ny typ för Unicode-strängar, som ska tillämpas som en bitvis ELLER på PDO::P ARAM_STR
- PDO::P ARAM_STR_CHAR – en ny typ för icke-Unicode-strängar, som ska tillämpas som en bitvis ELLER på PDO::P ARAM_STR
- PDO::ATTR_DEFAULT_STR_PARAM - ställ in antingen PDO::P ARAM_STR_NATL eller PDO::P ARAM_STR_CHAR för att indikera ett värde till bitwise-ELLER till PDO::P ARAM_STR som standard
Från och med version 5.8.0 kan du använda dessa konstanter med PDO::quote.
Returvärde
En citerad sträng som kan skickas till en SQL-sats, eller falsk om det misslyckas.
Remarks
Stöd för PDO lades till i version 2.0 av Microsoft Drivers för PHP för SQL Server.
Exempel på strängescape
<?php
$database = "test";
$server = "(local)";
$conn = new PDO( "sqlsrv:server=$server ; Database = $database", "", "");
$param = 'a \' g';
$param2 = $conn->quote( $param );
$query = "INSERT INTO Table1 VALUES( ?, '1' )";
$stmt = $conn->prepare( $query );
$stmt->execute(array($param));
$query = "INSERT INTO Table1 VALUES( ?, ? )";
$stmt = $conn->prepare( $query );
$stmt->execute(array($param, $param2));
?>
Exempel på PDO-citat
Följande skript visar några exempel på hur utökade strängtyper påverkar PDO::quote() med PHP 7.2+.
<?php
$database = "test";
$server = "(local)";
$db = new PDO("sqlsrv:server=$server; Database=$database", "", "");
$db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL); // N'über'
$db->quote('foo'); // 'foo'
$db->setAttribute(PDO::ATTR_DEFAULT_STR_PARAM, PDO::PARAM_STR_NATL);
$db->quote('über'); // N'über'
$db->quote('foo', PDO::PARAM_STR | PDO::PARAM_STR_CHAR); // 'foo'
?>