Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Processa uma string para utilização numa consulta, colocando aspas em torno da string de entrada, conforme exigido pela base de dados do SQL Server subjacente. PDO::quote escapa caracteres especiais dentro da cadeia de entrada usando um estilo de citação apropriado ao SQL Server.
Syntax
string PDO::quote( $string[, $parameter_type ] )
Parâmetros
$ string: A string a citar.
$ parameter_type: Um símbolo opcional (inteiro) que indica o tipo de dado. O padrão é PDO::P ARAM_STR.
Novas constantes PDO foram introduzidas no PHP 7.2 para adicionar suporte para binding de cadeias Unicode e não-Unicode. As strings Unicode podem ser rodeadas por aspas com um N como prefixo (ou seja, N'string' em vez de 'string').
- PDO::P ARAM_STR_NATL - um novo tipo para cadeias Unicode, a ser aplicado como bitwise-OR a PDO::P ARAM_STR
- PDO::P ARAM_STR_CHAR - um novo tipo para cadeias não Unicode, a ser aplicado como bitwise-OR a PDO::P ARAM_STR
- PDO::ATTR_DEFAULT_STR_PARAM - definido como PDO::P ARAM_STR_NATL ou PDO::P ARAM_STR_CHAR para indicar um valor para bitwise-OR para PDO::P ARAM_STR por defeito
A partir da versão 5.8.0, pode usar estas constantes com PDO::quote.
Valor de retorno
Uma cadeia de aspas que pode ser passada para uma instrução SQL, ou falsa em caso de falha.
Observações
O suporte para PDO foi adicionado na versão 2.0 dos Microsoft Drivers for PHP para SQL Server.
Exemplo de escape de cordas
<?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));
?>
Exemplo da citação do PDO
O script seguinte mostra alguns exemplos de como os tipos de cadeias estendidas afetam PDO::quote() com 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'
?>