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