PDO::setAttribute
Define um atributo de PDO preestabelecido ou um atributo de driver personalizado.
Sintaxe
bool PDO::setAttribute ( $attribute, $value );
Parâmetros
$attribute: o atributo a ser definido. Consulte a seção Comentários para obter uma lista de atributos com suporte.
$value: o valor (tipo misto).
Valor de retorno
Retorna true se for bem-sucedido; caso contrário, false.
Comentários
Atributo | Processado por | Valores com suporte | Descrição |
---|---|---|---|
PDO::ATTR_CASE | PDO | PDO::CASE_LOWER PDO::CASE_NATURAL PDO::CASE_UPPER |
Especifica se serão usadas maiúsculas ou minúsculas nos nomes das colunas. PDO::CASE_LOWER faz com que os nomes das colunas sejam escritos em minúsculas. PDO::CASE_NATURAL (o padrão) exibe os nomes das colunas conforme são retornados pelo banco de dados. PDO::CASE_UPPER faz com que os nomes das colunas sejam escritos em maiúsculas. Esse atributo pode ser definido usando PDO::setAttribute. |
PDO::ATTR_DEFAULT_FETCH_MODE | PDO | Consulte a documentação do PDO. | Consulte a documentação do PDO. |
PDO::ATTR_DEFAULT_STR_PARAM | PDO | PDO::PARAM_STR_CHAR PDO::PARAM_STR_NATL |
Para obter mais informações, confira os exemplos em PDO::quote. |
PDO::ATTR_ERRMODE | PDO | PDO::ERRMODE_SILENT PDO::ERRMODE_WARNING PDO::ERRMODE_EXCEPTION |
Especifica como o driver relata as falhas. PDO::ERRMODE_SILENT (o padrão) define os códigos e as informações de erro. PDO::ERRMODE_WARNING gera E_WARNING. PDO::ERRMODE_EXCEPTION faz com que uma exceção seja gerada. Esse atributo pode ser definido usando PDO::setAttribute. |
PDO::ATTR_ORACLE_NULLS | PDO | Consulte a documentação do PDO. | Especifica como os valores nulos devem ser retornados. PDO::NULL_NATURAL não faz nenhuma conversão. PDO::NULL_EMPTY_STRING converte uma cadeia de caracteres vazia em nulo. PDO::NULL_TO_STRING converte nulo em uma cadeia de caracteres vazia. |
PDO::ATTR_STATEMENT_CLASS | PDO | Consulte a documentação do PDO. | Define a classe de instrução que o usuário forneceu derivada de PDOStatement. Requer array(string classname, array(mixed constructor_args)) .Veja a documentação do PDO para obter mais informações. |
PDO::ATTR_STRINGIFY_FETCHES | PDO | true ou false | Converte valores numéricos em cadeias de caracteres ao recuperar dados. |
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE | Drivers da Microsoft para PHP para SQL Server | 1 para o limite de memória do PHP. | Define o tamanho do buffer que contém o conjunto de resultados ao usar um cursor do lado do cliente. O padrão é 10.240 KB, se não for especificado no arquivo php.ini. Zero e números negativos não são permitidos. Para obter mais informações sobre as consultas que criam um cursor do lado do cliente, veja Tipos de cursor (Driver PDO_SQLSRV). |
PDO::SQLSRV_ATTR_DECIMAL_PLACES | Drivers da Microsoft para PHP para SQL Server | Um inteiro entre 0 e 4 (inclusive) | Especifica o número de casas decimais ao formatar valores monetários buscados. Qualquer inteiro negativo ou um valor maior que 4 será ignorado. Esta opção só funciona quando PDO::SQLSRV_ATTR_FORMAT_DECIMALS é verdadeiro. Esta opção também pode ser definida no nível de instrução. Nesse caso, a opção de nível de instrução substitui essa. Para saber mais, confira Formatação de cadeias de caracteres decimais e valores monetários (driver PDO_SQLSRV) . |
PDO::SQLSRV_ATTR_DIRECT_QUERY | Drivers da Microsoft para PHP para SQL Server | true ou false | Especifica a execução direta ou preparada da consulta. Para obter mais informações, consulte Execução de instrução direta e execução de instrução preparada no driver PDO_SQLSRV. |
PDO::SQLSRV_ATTR_ENCODING | Drivers da Microsoft para PHP para SQL Server | PDO::SQLSRV_ENCODING_UTF8 PDO::SQLSRV_ENCODING_SYSTEM. |
Define a codificação do conjunto de caracteres usada pelo driver para se comunicar com o servidor. Não há suporte para PDO::SQLSRV_ENCODING_BINARY. O padrão é PDO::SQLSRV_ENCODING_UTF8. |
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE | Drivers da Microsoft para PHP para SQL Server | true ou false | Especifica quando recuperar tipos de data e hora como objetos de DateTime PHP. Se for deixado como false, o comportamento padrão é retorná-los como cadeias de caracteres. Esta opção também pode ser definida no nível de instrução. Nesse caso, a opção de nível de instrução substitui essa. Para obter mais informações, confira Como recuperar tipos de data e hora como objetos DateTime PHP usando o driver PDO_SQLSRV. |
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE | Drivers da Microsoft para PHP para SQL Server | true ou false | Lida com buscas numéricas de colunas com tipos numéricos do SQL (bit, inteiro, smallint, tinyint, float ou real). Quando o sinalizador de opção de conexão ATTR_STRINGIFY_FETCHES está ativado, o valor de retorno é uma cadeia de caracteres, mesmo quando SQLSRV_ATTR_FETCHES_NUMERIC_TYPE estiver ativado. Quando o tipo PDO retornado na coluna de associação for PDO_PARAM_INT, o valor de retorno de uma coluna de números inteiros é int, mesmo se SQLSRV_ATTR_FETCHES_NUMERIC_TYPE estiver desativado. |
PDO::SQLSRV_ATTR_FORMAT_DECIMALS | Drivers da Microsoft para PHP para SQL Server | true ou false | Especifica quando é apropriado adicionar zeros à esquerda em cadeias de caracteres decimais. Se definida, essa opção habilita a opção PDO::SQLSRV_ATTR_DECIMAL_PLACES para formatação de tipos de moedas. Se for deixado como false, será usado o comportamento padrão de retornar a precisão exata e omitir zeros para valores menores do que 1. Esta opção também pode ser definida no nível de instrução. Nesse caso, a opção de nível de instrução substitui essa. Para saber mais, confira Formatação de cadeias de caracteres decimais e valores monetários (driver PDO_SQLSRV) . |
PDO::SQLSRV_ATTR_QUERY_TIMEOUT | Drivers da Microsoft para PHP para SQL Server | Número inteiro | Define o tempo limite da consulta em segundos. O padrão é 0, o que significa que o driver aguardará resultados indefinidamente. Números negativos não são permitidos. |
O PDO processa alguns atributos predefinidos e requer que o driver processe outros. Todos os atributos personalizados e opções de conexão são processados pelo driver. Um atributo sem suporte, opção de conexão ou valor sem suporte será relatado de acordo com a configuração de PDO::ATTR_ERRMODE.
O suporte para PDO foi adicionado na versão 2.0 dos Drivers da Microsoft para PHP para SQL Server.
Exemplo
Este exemplo mostra como definir o atributo PDO::ATTR_ERRMODE.
<?php
$database = "AdventureWorks";
$conn = new PDO( "sqlsrv:server=(local) ; Database = $database", "", "");
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
?>