Partilhar via


PDO::setAttribute

Baixar o driver PHP

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" ) ));  
   }  
?>  

Consulte Também

PDO Class

PDO