Compartir vía


PDO::setAttribute

Descargar controlador PHP

Establece un atributo PDO predefinido o un controlador personalizado.

Sintaxis

bool PDO::setAttribute ( $attribute, $value );  

Parámetros

$attribute: el atributo que se establecerá. Consulte la sección Comentarios para obtener la lista de atributos admitidos.

$value: valor (tipo mixto).

Valor devuelto

Se devuelve True si la operación se realiza correctamente; de lo contrario, False.

Observaciones

Atributo Procesado mediante Valores admitidos Descripción
PDO::ATTR_CASE PDO PDO::CASE_LOWER

PDO::CASE_NATURAL

PDO::CASE_UPPER
Especifica la mayúsculas en los nombres de columna.

PDO::CASE_LOWER aplica minúsculas a los nombres de columna.

PDO::CASE_NATURAL (el valor predeterminado) muestra los nombres de columna con el mismo uso de mayúsculas y minúsculas que aparece en la base de datos.

PDO::CASE_UPPER aplica mayúsculas a los nombres de columna.

Este atributo también puede establecerse utilizando PDO::setAttribute.
PDO::ATTR_DEFAULT_FETCH_MODE PDO Consulte la documentación de PDO. Consulte la documentación de PDO.
PDO::ATTR_DEFAULT_STR_PARAM PDO PDO::PARAM_STR_CHAR

PDO::PARAM_STR_NATL
Para más información, consulte los ejemplos en PDO::quote.
PDO::ATTR_ERRMODE PDO PDO::ERRMODE_SILENT

PDO::ERRMODE_WARNING

PDO::ERRMODE_EXCEPTION
Especifica cómo el controlador informa de errores.

PDO::ERRMODE_SILENT (el valor predeterminado) establece la información y los códigos de los errores.

PDO::ERRMODE_WARNING genera una advertencia E_WARNING.

PDO::ERRMODE_EXCEPTION genera una excepción.

Este atributo también puede establecerse utilizando PDO::setAttribute.
PDO::ATTR_ORACLE_NULLS PDO Consulte la documentación de PDO. Especifica cómo se deben devolver los valores Null.

PDO::NULL_NATURAL no realiza ninguna conversión.

PDO::NULL_EMPTY_STRING convierte el valor de una cadena vacía en Null.

PDO::NULL_TO_STRING convierte el valor de una cadena vacía en Null.
PDO::ATTR_STATEMENT_CLASS PDO Consulte la documentación de PDO. Establece que la clase de la instrucción proporcionada por el usuario se obtenga de PDOStatement.

Se requiere array(string classname, array(mixed constructor_args)).

Para obtener más información, vea la documentación de PDO.
PDO::ATTR_STRINGIFY_FETCHES PDO true o false Convierte los valores numéricos en cadenas al recuperar los datos.
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE Controladores de Microsoft para PHP para SQL Server 1 para el límite de memoria PHP. Establece el tamaño de búfer que contiene el conjunto de resultados de un cursor de cliente.

El valor predeterminado es 10 240 KB, si no se especifica en el archivo php.ini.

No se permiten ni el cero ni los números negativos.

Para obtener más información sobre las consultas que crean un cursor de cliente, vea Tipos de cursor (controlador PDO_SQLSRV).
PDO::SQLSRV_ATTR_DECIMAL_PLACES Controladores de Microsoft para PHP para SQL Server Un entero comprendido entre 0 y 4, ambos incluidos Especifica el número de lugares decimales al dar formato a los valores de moneda obtenidos.

Se omitirá cualquier entero negativo o un valor mayor que 4.

Esta opción solo funciona si PDO::SQLSRV_ATTR_FORMAT_DECIMALS es true.

Esta opción también se puede establecer en el nivel de instrucción. Si es así, entonces, la opción a nivel de instrucción anula esta.

Para más información, vea Aplicación de formato a cadenas decimales y valores de moneda (controlador PDO_SQLSRV).
PDO::SQLSRV_ATTR_DIRECT_QUERY Controladores de Microsoft para PHP para SQL Server true o false Especifica la ejecución de la consulta directa o preparada. Para obtener más información, vea Direct Statement Execution and Prepared Statement Execution in the PDO_SQLSRV Driver (Ejecución de la instrucción preparada o directa en el controlador PDO_SQLSRV).
PDO::SQLSRV_ATTR_ENCODING Controladores de Microsoft para PHP para SQL Server PDO::SQLSRV_ENCODING_UTF8

PDO::SQLSRV_ENCODING_SYSTEM.
Establece el juego de caracteres que utiliza el controlador para comunicarse con el servidor.

No se admite PDO::SQLSRV_ENCODING_BINARY.

El valor predeterminado es PDO::SQLSRV_ENCODING_UTF8.
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE Controladores de Microsoft para PHP para SQL Server true o false Especifica si debe recuperar tipos de fecha y hora como objetos PHP DateTime. Si el valor se deja como false, el comportamiento predeterminado es devolverlos como cadenas.

Esta opción también se puede establecer en el nivel de instrucción. Si es así, entonces, la opción a nivel de instrucción anula esta.

Para más información, vea: Cómo: Recuperación de los tipos de fecha y hora como objetos de fecha y hora PHP mediante el controlador PDO_SQLSRV.
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE Controladores de Microsoft para PHP para SQL Server true o false Controla los resultados numéricos de las columnas con los tipos SQL numéricos (bit, integer, smallint, tinyint, float o real).

Cuando la marca de la opción de conexión ATTR_STRINGIFY_FETCHES está activada, el valor devuelto es una cadena incluso cuando SQLSRV_ATTR_FETCHES_NUMERIC_TYPE está activado.

Cuando el tipo devuelto de PDO en la columna de enlace es PDO_PARAM_INT, el valor devuelto de una columna de enteros es un valor int aunque SQLSRV_ATTR_FETCHES_NUMERIC_TYPE esté desactivado.
PDO::SQLSRV_ATTR_FORMAT_DECIMALS Controladores de Microsoft para PHP para SQL Server true o false Especifica si se agregan ceros iniciales a las cadenas decimales cuando proceda. Si se establece, esta opción habilita la opción de PDO::SQLSRV_ATTR_DECIMAL_PLACES para aplicar formato a los tipos de divisa. Si el valor se deja como false, se usa el comportamiento predeterminado de devolver la precisión exacta y omitir los ceros iniciales de los valores menores que 1.

Esta opción también se puede establecer en el nivel de instrucción. Si es así, entonces, la opción a nivel de instrucción anula esta.

Para más información, vea Aplicación de formato a cadenas decimales y valores de moneda (controlador PDO_SQLSRV).
PDO::SQLSRV_ATTR_QUERY_TIMEOUT Controladores de Microsoft para PHP para SQL Server Entero Establece el tiempo de espera de consulta en segundos.

El valor predeterminado es 0, lo que significa que el controlador esperará indefinidamente para obtener los resultados.

No se permiten números negativos.

PDO procesa algunos de los atributos predefinidos y requiere que el controlador procese otros. Todos los atributos personalizados y opciones de conexión se procesan mediante el controlador. Según la configuración de PDO::ATTR_ERRMODE, se notifican un atributo, una opción de conexión o un valor no compatibles.

En la versión 2.0 de los Controladores de Microsoft para PHP para SQL Server, se agregó compatibilidad con PDO.

Ejemplo

En este ejemplo se muestra cómo establecer el 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 también

Clase PDO

PDO