Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przetwarza ciąg do użycia w zapytaniu poprzez umieszczanie cudzysłowów wokół łańcucha wejściowego, zgodnie z wymaganiami bazy danych SQL Server. PDO::quote ucieka znaków specjalnych w ciągu wejściowym, używając stylu cytowania odpowiedniego dla SQL Server.
Syntax
string PDO::quote( $string[, $parameter_type ] )
Parametry
$ Struna: Struna do cytowania.
$ parameter_type: Opcjonalny (całkowitoliczbowy) symbol wskazujący typ danych. Domyślna to PDO::P ARAM_STR.
Nowe stałe PDO zostały wprowadzone w PHP 7.2, aby dodać wsparcie dla wiązania ciągów unikowych Unicode i nie-Unicode. Ciągi Unicode można otaczać cudzysłowami z prefiksem N (np. N'string' zamiast 'string').
- PDO::P ARAM_STR_NATL - nowy typ dla ciągów Unicode, który ma być stosowany jako bitowo-LUB do PDO::P ARAM_STR
- PDO::P ARAM_STR_CHAR - nowy typ dla ciągów nie-Unicode, który ma być stosowany jako bitowo-LUB do PDO::P ARAM_STR
- PDO::ATTR_DEFAULT_STR_PARAM - ustaw domyślnie na PDO::P ARAM_STR_NATL lub PDO::P ARAM_STR_CHAR, aby wskazać wartość bitwise-LUB na PDO::P ARAM_STR domyślnie
Począwszy od wersji 5.8.0, możesz używać tych stałych z PDO::quote.
Wartość zwracana
Ciąg z cytatami, który można przekazać do instrukcji SQL, lub fals, jeśli zawiódł.
Remarks
Wsparcie dla PDO zostało dodane w wersji 2.0 sterowników Microsoft dla PHP dla SQL Server.
Przykład ucieczki ciągu ciągu
<?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));
?>
Przykład cytatu z PDO
Poniższy skrypt pokazuje kilka przykładów, jak rozszerzone typy ciągów znaków znaków wpływają na PDO::quote() w 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'
?>